Vettori pari e dispari

di il
3 risposte

Vettori pari e dispari

Salve sto scrivendo un programma con il seguente testo:
scrivere un programma che crei 2 vettori di lunghezza n uno con valori pari e un altro con valori dispari. poi sommare i 2 vettori in un terzo e in un quarto sommare il primo per l'inverso del secondo.
questo è quello che ho fatto ma non funziona e mi trovo a un punto morto:

#include <iostream>
#include <cstdlib>
using namespace std;
const int dim=100;
typedef int vettore[dim];

int main()
{
vettore v1, v2, v3, v4;
int x;
int n;

cin>>n;
{
	for (int i=0, j=0;i<n && j<n;)
	{
		cin>>x;
			{
			if (x%2==0)
			{
			v1[i]=x;
			i++;
		}
			else
			{
					v2[j]=x;
				j++;
			}
		}
		}
}

{
	for (int i=0;i<n;i++)
	{
	v3[i]=v1[i]+v2[i];
	}
}
{
	for (int i=0,j=n-1; i<n; i++, j--)
	{
	v4[i]=v1[i]+v2[i];
	}
}
	{
		for (int i=0;i<n;i++)
		{
				cout<<v3[i];	
				}
}
	{
		for (int i=0;i<n;i++)
		{	
			cout<<v4[i];	
	}
				}
system ("PAUSE");
return 0;
}

3 Risposte

  • Re: Vettori pari e dispari

    Ciao, inizia a mettere le graffe nel modo corretto... Non ci vanno prima dei for e degli if.
    Poi è sbagliato anche il modo in cui riempi i vettori, in particolare quel
    for (int i=0, j=0;i<n && j<n;) {...
    perchè appena hai finito di riempire un vettore quella condizione diventa falsa e smetti di riempire anche l'altro.
  • Re: Vettori pari e dispari

    Questa è un'idea per riempire i vettori. Magari c'è di meglio ma si può partire da qui:
    
    vettore v1, v2, v3, v4;
        int x;
        int n;
        cin>>n;
    
        int i=0, j=0;
    
        while(i+j<2*n) {
            cin>>x;
            if(x%2==0 && i<n) {
                v1[i]=x;
                i++;
            }
            if(x%2!=0 && j<n) {
                v2[j]=x;
                j++;
            }
        }
    
  • Re: Vettori pari e dispari

    Grazie mille.
    p.s. lo so con le parentesi faccio confusione
Devi accedere o registrarti per scrivere nel forum
3 risposte