Oppure

Loading
16/04/10 22:57
crack001
salve a tutti, ho da porvi un piccolo quesito...in pratica io ho 2 vettorori caricati staticamente, e devo fare il merge di questi 2 vettori, in pratica devo stampare la fusione dei 2 vettori xo in modo ordinato.

In università il docente l'ha fatto in un modo che sinceramente ho ritenuto troppo lungo ed elaborioso, quindi mi sono messo a casa e ho incominciato a scrivere, xo quando mando in esecuzione mi si blocca linux XDDDD qualcuno di voi sa dirmi dove sbaglio e magari correggermi? ecco il codice da me scritto


.data
	array1: .word 3,6,9,10,12,13
	array2: .word 1,2,5,7,8
.text
.globl main
main:
	la $t0,array1
	la $t1,array2
	li $t2,0
	li $t3,0
	li $t6,6
	li $t7,5
loop:   lw $t4,0($t0)
	lw $t5,0($t1)
	
	blt $t4,$t5,stampa1
	blt $t5,$t4,stampa2


stampa1:
	addi $t0,$t0,4
	move $a0,$t4
	li $v0,1
	syscall
	addi $t2,$t2,1
	beq $t2,$t6,controllo1
	j loop

stampa2:
	addi $t1,$t1,4
	move $a0,$t5
	li $v0,1
	syscall
	addi $t3,$t3,1
	beq $t3,$t7,controllo2
	j loop

controllo1:
	bne $t3,$t7,stampadiretta1
	j exit

controllo2:
	bne $t2,$t6,stampadiretta2
	j exit

stampadiretta1:
	lw $t5,0($t1)
	move $a0,$t5
	li $v0,1
	syscall
	bne $t3,$t7,stampadiretta1
	j exit

stampadiretta2:
	lw $t4,0($t0)
	move $a0,$t4
	li $v0,1
	syscall
	bne $t2,$t6,stampadiretta2
	j exit

exit:
	li $v0,10
	syscall
Ultima modifica effettuata da crack001 16/04/10 22:59
aaa
17/04/10 19:56
pierotofy
Per risolvere questo problema creerei un terzo array con il contenuto di entrambi i due array e poi farei il sort. Qui trovi un Bubble Sort in MIPS: pierotofy.it/pages/sorgenti/dettagli/18408-BubbleSort/
Il mio blog: piero.dev
24/04/10 14:22
crack001
si ok, ma il mio codice nn l'hai proprio visto? oppure l'hai controllato ma è sbagliatissimo? XD
aaa
24/04/10 20:10
pierotofy
Si l'ho visto ed è sbagliato. Non puoi confrontare i due array in quel modo. Se ho ad esempio due array:

1 6 8 9
2 3 4 5

La logica del tuo programma stamperebbe (se ho interpretato bene il codice):

1 2 3 6 4 8 5 9

Devi creare un terzo array, copiare i dati di entrambi gli array in esso e fare un sort.
Ultima modifica effettuata da pierotofy 24/04/10 20:14
Il mio blog: piero.dev
30/04/10 19:09
crack001
si avevi ragione, ora funziona XD grazie 1000
aaa