|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2008
Messaggi: 69
|
[C] Algoritmo non corretto
Ciao a tutti
ecco il mio problema (tutto il giorno che ci provo ma.. ![]() Chiedo perdono per la mia scrittura che a voi programmatori esperti sembrerà uno "stupro" del compiler da parte mia. Il problema è spiegato nel programma, è un tema d'esame che sto svolgendo in preparazione all'appello che farò venerdi 18/06. Chiedo qualche consiglio in quanto l'algoritmo pare corretto, ma come potete vedere le ultime due cifre non sono quelle esatte ![]() PS: ringrazio che risponderà PPS: sono alle prime armi, conosco poco il C e la sua libreria ![]() Codice:
#include <stdio.h> int main () { /* 8. Si sviluppi un programma in linguaggio C che riceva in ingresso due vettori di interi, ciascuno di 10 elementi. Supponendo che i due vettori siano già ordinati in modo crescente, il programma deve creare e stampare un terzo vettore che rappresenti la “fusione” dei due vettori acquisiti, ovvero che contenga tutti i 20 elementi ordinati tra loro in modo crescente. Ad esempio, se il primo vettore contiene gli elementi 2 5 9 14 15 20 25 27 30 32 e il secondo vettore contiene gli elementi 3 5 10 11 12 22 23 24 26 27 Il programma crea e stampa un vettore contenente i seguenti elementi: 2 3 5 5 9 10 11 12 14 15 20 22 23 24 25 26 27 27 30 32 */ int v1[10] , v2[10], v3[20] , i , i1, i2, i3; printf("Inserisci una sequenza di 10 interi, in ordine crescente.\n"); for (i = 0 ; i < 10 ; i++ ) { scanf("%d", &v1[i]); } printf("Inserisci ora un' altra sequenza di 10 interi, in ordine crescente.\n"); for (i = 0 ; i < 10 ; i++ ) { scanf("%d", &v2[i]); } i1= 0; i2= 0; i3= 0; while ( i3 < 20 ) { if (v1[i1] > v2[i2] ) { v3[i3] = v2[i2] ; printf("%d ",v3[i3]); i3++; i2++; } else { v3[i3] = v1[i1]; printf("%d ",v3[i3]); i3++; i1++; } } return 0 ; } Qui la finestra-- Codice:
Inserisci una sequenza di 10 interi, in ordine crescente. 1 2 3 4 5 6 12 15 22 31 Inserisci ora un' altra sequenza di 10 interi, in ordine crescente. 1 2 3 9 12 14 22 29 40 42 1 1 2 2 3 3 4 5 6 9 12 12 14 15 22 22 29 31 10 11 logout [Processo completato] Ecco i due errori..
__________________
MOBO: ASRock 775Dual-VSTA CHIPSET: VIA Apollo PT880 Pro/Ultra CPU: DualCore Intel Core 2 Duo E6300, 1866 MHz (7 x 267) RAM: 2x1Gb V-data DDR2 667MHz pc3200 VIDEO: ATI Radeon 9550 / X1050 Series Secondary (256 MB) ALI: Premier 350W |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2006
Messaggi: 314
|
Anche se è possibile ottimizzarlo è comunque corretto..
Per sicurezza l'ho provato e l'output è quello giusto.
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2008
Messaggi: 69
|
The Debugger has exited with status 48.The Debugger has exited with status 48.
Lo status 48 corrisponde appunto a quell' incremento della variabile "i2" che mi crea disastri ma non saprei come correggerla ![]()
__________________
MOBO: ASRock 775Dual-VSTA CHIPSET: VIA Apollo PT880 Pro/Ultra CPU: DualCore Intel Core 2 Duo E6300, 1866 MHz (7 x 267) RAM: 2x1Gb V-data DDR2 667MHz pc3200 VIDEO: ATI Radeon 9550 / X1050 Series Secondary (256 MB) ALI: Premier 350W Ultima modifica di Claudio19488 : 14-06-2010 alle 19:13. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2008
Messaggi: 533
|
■
Ultima modifica di rеpne scasb : 18-06-2012 alle 16:05. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jul 2008
Messaggi: 69
|
Ok grazie
![]() Ho notato che le modifiche apportate sono : int v1[11] , v2[11] v1[10]=2147483647; v2[10]=2147483647; Scusa se ti disturbo, ma a cosa servono queste ultime due ? ? Portesti darmi una delucidazione in merito ?? Grazie ancora
__________________
MOBO: ASRock 775Dual-VSTA CHIPSET: VIA Apollo PT880 Pro/Ultra CPU: DualCore Intel Core 2 Duo E6300, 1866 MHz (7 x 267) RAM: 2x1Gb V-data DDR2 667MHz pc3200 VIDEO: ATI Radeon 9550 / X1050 Series Secondary (256 MB) ALI: Premier 350W |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2008
Messaggi: 533
|
■
Ultima modifica di rеpne scasb : 18-06-2012 alle 16:05. |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jul 2008
Messaggi: 69
|
Grazie, sei stato gentilissimA.
claudio
__________________
MOBO: ASRock 775Dual-VSTA CHIPSET: VIA Apollo PT880 Pro/Ultra CPU: DualCore Intel Core 2 Duo E6300, 1866 MHz (7 x 267) RAM: 2x1Gb V-data DDR2 667MHz pc3200 VIDEO: ATI Radeon 9550 / X1050 Series Secondary (256 MB) ALI: Premier 350W Ultima modifica di Claudio19488 : 15-06-2010 alle 14:02. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
GentilissimA, chi ti ha aiutato è una signora programmatrice
![]() ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:02.