Esercizio vettori

di il
7 risposte

Esercizio vettori

Ragazzi ho provato a fare questo esercizio:

Sviluppare un programma che acquisisca da tastiera due arraycontenenti 10 numeri interi (int num1[10], int num2[10]),assicurandosi (per ogni array) che l’utente non inserisca un numero già inserito (in questo caso, ripetere l’acquisizionedi ogni elemento che sia già stato inserito).Si trovino quindi tutti gli elementi comuni ad entrambi gli array e si stampi un messaggio indicante, per ogni elemento comune,l’indice occupato nel primo array e nel secondo.

il programma che ho scritto funziona, ma mi sembra troppo lungo e macchinoso:

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{int V[10];
int B[10];
int i,j,g;
i=1;bool uguale=true;
cout<<"inserire gli interi per il vettore V"<<endl;
cin>>V[0];
while (i<10)
{cin>> V[i];
 for (j=0; j<i; j++)
 {if (V[j]==V[i])
 {uguale=false;};}
if(uguale==false)
{while(uguale==false)
 {cout<<" numero non valido. inserire un altro numero"<<endl;
 cin>>g;
 V[i]=g;
 for (j=0; j<i; j++)
 {if (V[j]==V[i])
 {uguale=false;}
 else {uguale=true;};};};}
i++;
uguale=true;
g=0;}
cout<<"vettore v"<<endl;
for (i=0; i<10; i++)
{cout<<V[i]<<" ";}
cout<<endl;i=1;
uguale=true;
cout<<"inserire gli interi per il vettore B"<<endl;
cin>>B[0];
while (i<10)
{cin>> B[i];
 for (j=0; j<i; j++)
 {if (B[j]==B[i])
 {uguale=false;};}
if(uguale==false)
{while(uguale==false)
 {cout<<" numero non valido. inserire un altro numero"<<endl;
 cin>>g;
 B[i]=g;
 for (j=0; j<i; j++)
 {if (B[j]==B[i])
 {uguale=false;}
 else {uguale=true;};};};}
i++;
uguale=true;
g=0;}
cout<<"vettore b"<<endl;
for (i=0; i<10; i++)
{cout<<B[i]<<" ";}
cout<<endl;
int f;
bool conta=false;
for (i=0; i<10; i++)
{j=0;
conta=false;
while(conta==false&&j<10)
{if (V[i]==B[j])
{conta=true;f=j;}
else{j++;};}
if (conta=true)
{cout<<"il numero "<<V[i]<<" si trova nel vettore V in posizione "<<i<<" e nel vettore b in posizione "<<f<<endl};}
return 0;}
va bene così o si può snellire?

7 Risposte

  • Re: Esercizio vettori

    Così è illeggibile! Non è che se lo scrivi tutto su una riga lo snellisci!
    Indenta bene il codice.
  • Re: Esercizio vettori

    
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    int main()
    {int V[10],B[10],i,j,g;
    i=1;
    bool uguale=true;
    cout<<"inserire gli interi per il vettore V"<<endl;
    cin>>V[0];
    while (i<10)
    {cin>> V[i];
     for (j=0; j<i; j++)
     {if (V[j]==V[i])
     {uguale=false;}
     }
    if(uguale==false)
    {while(uguale==false)
     {cout<<" numero non valido. inserire un altro numero"<<endl;
     cin>>g;
     V[i]=g;
     for (j=0; j<i; j++)
     {if (V[j]==V[i])
     {uguale=false;}
     else {uguale=true;}
     }
     }
     }
    i++;
    uguale=true;
    g=0;}
    cout<<"vettore v"<<endl;
    for (i=0; i<10; i++)
    {cout<<V[i]<<" ";}
    cout<<endl;
    i=1;
    uguale=true;
    cout<<"inserire gli interi per il vettore B"<<endl;
    cin>>B[0];
    while (i<10)
    {cin>> B[i];
     for (j=0; j<i; j++)
     {if (B[j]==B[i])
     {uguale=false;}
     }
    if(uguale==false)
    {while(uguale==false)
     {cout<<" numero non valido. inserire un altro numero"<<endl;
     cin>>g;
     B[i]=g;
     for (j=0; j<i; j++)
     {if (B[j]==B[i])
     {uguale=false;}
     else {uguale=true;}
     }
     }
     }
    i++;
    uguale=true;
    g=0;}
    cout<<"vettore b"<<endl;
    for (i=0; i<10; i++)
    {cout<<B[i]<<" ";}
    cout<<endl;
    int f;
    bool conta=false;
    for (i=0; i<10; i++)
    {j=0;
    conta=false;
    while(conta==false&&j<10)
    {if (V[i]==B[j])
    {conta=true;
    f=j;
    cout<<"il numero "<<V[i]<<" si trova nel vettore V in posizione "<<i<<" e nel vettore B in posizione "<<f<<endl;}
    else{j++;}
    }
    }
    return 0;}
  • Re: Esercizio vettori

    Ma mi stai prendendo in giro?
  • Re: Esercizio vettori

    Qual è il problema
  • Re: Esercizio vettori

    spingar ha scritto:


    Qual è il problema
    Indenta bene il codice
  • Re: Esercizio vettori

    Ma non ce l'avete un compilatore?
  • Re: Esercizio vettori

    Non so indentarlo meglio
Devi accedere o registrarti per scrivere nel forum
7 risposte