Albozzo
25-11-2005, 18:20
...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]);
}
}
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]);
}
}