Salve è tutto il giorno che provo a risolvere questo problema, in pratica caricati 2 vettori V1 e V2 bisogna stampare gli elementi che v1 ha ma V2 no... Il vero probleme è che in caso in V1 ci fosse un numero che in V2 non ce ma ripetuto il programma deve stamparlo solo 1 volta...
La mia idea principale era quella di salvare tutti gli elementi in un 3 vettore dove ci veniva salvato solo 1 volta quel numero... ma era solo un idea in pratica non ho la piu pallida idea di come fare
QUESTO è IL CODICE che ho provato a scrivere ma che non funziona
Vi allego in oltre il main se volete testarlo Visualizza allegato main.zip
Grazie per chi mi darà una mano
La mia idea principale era quella di salvare tutti gli elementi in un 3 vettore dove ci veniva salvato solo 1 volta quel numero... ma era solo un idea in pratica non ho la piu pallida idea di come fare
QUESTO è IL CODICE che ho provato a scrivere ma che non funziona
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 100
/*Dati 2 vettori di dimensione n, riempirli di numeri casuali (37-230), Stampare a video
Tutte gli elementi non comuni dei 2 vettori una sola volta*/
int main()
{
system("color 0a");
srand(time(NULL));
int v1[MAX],v2[MAX],i,j,lung,cont=0,v3[MAX],k=0,contd=0;
printf("Inserisci la lunghezza del vettore: ");
scanf("%d",&lung);
i=0;
//caricamento vettori
do
{
v1=rand()%193+37;
v2=rand()%193+37;
i++;
}while(i<lung);
//Stampa v1
printf("\nIl vettore 1 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v1);
i++;
}while(i<lung);
//stampa v2
printf("\n\nIl vettore 2 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v2);
i++;
}while(i<lung);
i=0;
j=0;
k=0;
//Caricamento del 3 vettore cercando gli elementi uguali credo che sia tutto qui l' errore
printf("\n");
do
{
do
{
if(v1==v2[j])
{
cont++;
}
j++;
}while(j<lung);
if(cont==0)
{
j=0;
contd++;
do
{
do
{
if(v1==v3[k])
{
cont++;
}
k++;
}while(k<contd);
if(cont==0)
{
v3[j]=v1;
j++;
}
k=0;
i++;
cont=0;
}while(i<lung);
}
cont=0;
i++;
j=0;
}while(i<lung);
//stampa v3
printf("\n\nIl vettore 3 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v3);
i++;
}while(i<lung);
return 0;
}
#include <stdlib.h>
#include <time.h>
#define MAX 100
/*Dati 2 vettori di dimensione n, riempirli di numeri casuali (37-230), Stampare a video
Tutte gli elementi non comuni dei 2 vettori una sola volta*/
int main()
{
system("color 0a");
srand(time(NULL));
int v1[MAX],v2[MAX],i,j,lung,cont=0,v3[MAX],k=0,contd=0;
printf("Inserisci la lunghezza del vettore: ");
scanf("%d",&lung);
i=0;
//caricamento vettori
do
{
v1=rand()%193+37;
v2=rand()%193+37;
i++;
}while(i<lung);
//Stampa v1
printf("\nIl vettore 1 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v1);
i++;
}while(i<lung);
//stampa v2
printf("\n\nIl vettore 2 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v2);
i++;
}while(i<lung);
i=0;
j=0;
k=0;
//Caricamento del 3 vettore cercando gli elementi uguali credo che sia tutto qui l' errore
printf("\n");
do
{
do
{
if(v1==v2[j])
{
cont++;
}
j++;
}while(j<lung);
if(cont==0)
{
j=0;
contd++;
do
{
do
{
if(v1==v3[k])
{
cont++;
}
k++;
}while(k<contd);
if(cont==0)
{
v3[j]=v1;
j++;
}
k=0;
i++;
cont=0;
}while(i<lung);
}
cont=0;
i++;
j=0;
}while(i<lung);
//stampa v3
printf("\n\nIl vettore 3 \x8a\ stato caricato con i seguenti numeri: \n");
i=0;
do
{
printf("[%d] ",v3);
i++;
}while(i<lung);
return 0;
}
Vi allego in oltre il main se volete testarlo Visualizza allegato main.zip
Grazie per chi mi darà una mano