|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
|
Problemino...
...ciao ragazzi, oggi ho fatto un semplice programma in c (ordinamento di due vettori in un 3°) ma ho questo problema:
non mi ordina i vettori!!!! sto saltanto qualcosa? ecco il codice!!! mi aiutate? /*Dati due vettori di diverse dimensioni: ordinarli in un terzo vettore*/ #include <stdio.h> #include <stdlib.h> #define dim 50 void carica_vett(int v[], int d, char z); //Dichirazione funzione che carica il vettore void ordina_vett(int v[], int d); //Dichirazione funzione che ordina il vettore void stampa_vett(int v[], int d, char z); int main(void){ //INIZIO PROGRAMMA PRINCIPALE int a[dim], b[dim]; //Dichiarazione vettori int n, m; //Dichiazione variabili char z; printf("*****INSERIRE MASSIMO 50 VALORI NEIL VETTORE*****\n"); //Messaggio rit: printf("Quanti valori nel vettore A?\n"); //Controllo numero valori di A scanf("%d",&n); if (n>50){ printf("REIMMETTERE NUMERO DI VALORI\n"); goto rit; } rit2: printf("Quanti valori nel vettore B?\n"); //Controllo numero valori di B scanf("%d",&m); if (m>50){ printf("REIMMETTERE NUMERO DI VALORI\n"); goto rit2; } z= 'A'; carica_vett(a,n,z); //Chiamata funzione di caricamento per A z= 'B'; carica_vett(b,m,z); //Chiamata funzione di caricamento per B ordina_vett(a,n); ordina_vett(b,m); z= 'A'; stampa_vett(a,n,z); z= 'B'; stampa_vett(b,m,z); system("pause"); return 0; } //FINE PROGRAMMA PRINCIPALE void carica_vett(int v[], int d, char z){ //INIZIO FUNZIONE di caricamento int i; printf("VALORI DEL VETTORE %c\n",z); for(i=0;i<d;i++){ printf("Inserisci valore: "); scanf("%d",&v[i]); } } //FINE FUNZIONE void ordina_vett(int v[], int d){ //INIZIO FUNZIONE di ordinamento int i, j, com; for(j=0;j<(d-1);j++){ for(i=j+1;i==d;i++){ if (v[j]>v[i]){ com= v[j]; v[j]= v[i]; v[i]= com; } } } } void stampa_vett(int v[], int d, char z){ int i; printf("STAMPA VALORI DEL VETTORE %c\n",z); for(i=0;i<d;i++){ printf("%d-*-",v[i]); } }
__________________
La POTENZA è nulla senza il CONTROLLO! |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
for(j=0;j<(d-1);j++){ for(i=j+1;i<d;i++){ if (v[j]>v[i]){ com= v[j]; v[j]= v[i]; v[i]= com; } } }
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
|
Quote:
eh, pure secondo me è poco elegante usare un goto ma nn solo in C ma in tutti i linguaggi di programmazione a parte ASSEMBLY!!! ![]() cmq grazie... ciao ciao! Alberto.
__________________
La POTENZA è nulla senza il CONTROLLO! |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
secondo me se i goto sono condizionati vanno più che bene
![]()
__________________
![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:13.