View Full Version : problema dimensione array
annunziatoco
29-12-2013, 16:35
ragazzi ho un problema, allora io dovrei fare un programma che dato un array di 10 numeri, dovrei dividere i numeri dell'array in due array divisi in pari e dispari, io ho fatto questo ma ci saranno 18000 errori di semantica:
#include<iostream>
using namespace std;
int main()
{
int* dati = new int[10];
int* pari = new int[];
int* dispari = new int[];
int j=0;
int z=0;
cout<<"inserisci dati";
for(int i=0; i<10; i++)
{
cin>>dati[i];
}
for(int i=0; i<10; i++)
{
if(dati[i] % 2 == 0)
{
j++;
pari[j] = dati[i];
}
else
{
z++;
dispari[z] = dati[i];
}
}
return 0;
}
non so di quanti numeri dichiarare gli altri due vettori perche non so effettivamente quanti ne servano
vendettaaaaa
29-12-2013, 17:43
ragazzi ho un problema, allora io dovrei fare un programma che dato un array di 10 numeri, dovrei dividere i numeri dell'array in due array divisi in pari e dispari, io ho fatto questo ma ci saranno 18000 errori di semantica:
#include<iostream>
using namespace std;
int main()
{
int* dati = new int[10];
int* pari = new int[];
int* dispari = new int[];
int j = 0;
int z = 0;
cout << "inserisci dati";
for (int i = 0; i < 10; i++)
{
cin >> dati[i];
}
for (int i = 0; i < 10; i++)
{
if (dati[i] % 2 == 0)
{
j++;
pari[j] = dati[i];
}
else
{
z++;
dispari[z] = dati[i];
}
}
return 0;
}
non so di quanti numeri dichiarare gli altri due vettori perche non so effettivamente quanti ne servano
Innanzitutto incolla il tuo codice dentro ai tag [CODE] per mantenere l'indentazione.
Poi non si può dichiarare pari e dispari con quella sintassi (non semantica), poichè manca la dimensione. Devi evidentemente prima di tutto contare i numeri pari, poi allochi lo spazio necessario, usando new, ai vettori pari e dispari, facendo quindi un ciclo in più.
annunziatoco
29-12-2013, 18:02
#include<iostream>
using namespace std;
int main()
{
int* dati = new int[10];
int j=0;
int z=0;
cout<<"inserisci dati";
for(int i=0; i<10; i++)
{
cin>>dati[i];
if(dati[i] % 2 == 0)
j++;
else
z++;
}
int* pari = new int[j];
int* dispari = new int[z];
for(int i=0; i<10; i++)
{
if(dati[i] % 2 == 0)
{
j++;
pari[j] = dati[i];
}
else
{
z++;
dispari[z] = dati[i];
}
}
return 0;
}
cosi :D funziona grazie =D
Ma come fa a funzionare se nell'ultimo ciclo for vai oltre la dimensione dell'array?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.