Programmi con il c++.
Dato un array monodimensionale di interi idenficato con NUMERI la cui dimensione va inserita da
tastiera, creare altri due array identificati con POSTOPARI E POSTODISPARI i cui elementi sono :
POSTOPARI gli elementi di indice pari dell'array assegnato
POSTO DISPARI elementi di posto dispari .
Dati due array la cui dimensione va inserita da tastiera, creare un altro array i cui elementi
sono somma degli elementi, dei primi due, dello stesso indice.
Sono due programmi che devo compilare per lunedì.
Devo farli senza sottoprogrammi / funzioni...
qualcuno puo darmi una mano?
più tardi posto anek quello k sono riuscito ad eleborare, appena lo trovo nel CAOS k è il mio pc...
GRAZIE TUTTI
tastiera, creare altri due array identificati con POSTOPARI E POSTODISPARI i cui elementi sono :
POSTOPARI gli elementi di indice pari dell'array assegnato
POSTO DISPARI elementi di posto dispari .
Dati due array la cui dimensione va inserita da tastiera, creare un altro array i cui elementi
sono somma degli elementi, dei primi due, dello stesso indice.
Sono due programmi che devo compilare per lunedì.
Devo farli senza sottoprogrammi / funzioni...
qualcuno puo darmi una mano?
più tardi posto anek quello k sono riuscito ad eleborare, appena lo trovo nel CAOS k è il mio pc...
GRAZIE TUTTI
Risposte
int main () {
const int DIM=100;
float a[DIM];
int i,n;
cin<
for (i=0; i
cin>> a;
float b[DIM];
int j;
for (j=0; j
cin>> b[j];
float ArraySomma[DIM];
int t;
for(t=0;t
for(i=0; i
for(j=0; j
ArraySomma[t]=a+b[j];
}
cout<
system ("pause");
return 0;
}
ECCO IL SECONDO...mi da errore ... penso k l'errore sia quello evidenziato...
const int DIM=100;
float a[DIM];
int i,n;
cin<
float b[DIM];
int j;
for (j=0; j
float ArraySomma[DIM];
int t;
for(t=0;t
}
cout<
return 0;
}
ECCO IL SECONDO...mi da errore ... penso k l'errore sia quello evidenziato...
Forse ho frainteso l'esercizio, ma un semplice:
invece di quei tre cicli innestati
for(int i=0;i<DIM;++i) { ArraySomma[i]=a[i]+b[i]; }
invece di quei tre cicli innestati

int main () {
const int DIM=100;
int numeri[DIM];
int postop[DIM];
int postod[DIM];
int i,n;
cin>>n;
for(i=0;i
cin>>numeri;
postop=numeri[2*i];
postod=numeri[2*i+1];
}
int j,k,x,y;
if(n%2==0)
x=n/2, y=n/2;
else
x=(n+1)/2,y=((n+1)/2)-1;
for (j=0;j
cout<
cout<<"\n\n";
for(k=0;k
cout<
system ("pause");
return 0;
}
ecco il primo...
const int DIM=100;
int numeri[DIM];
int postop[DIM];
int postod[DIM];
int i,n;
cin>>n;
for(i=0;i
postop=numeri[2*i];
postod=numeri[2*i+1];
}
int j,k,x,y;
if(n%2==0)
x=n/2, y=n/2;
else
x=(n+1)/2,y=((n+1)/2)-1;
for (j=0;j
cout<<"\n\n";
for(k=0;k
system ("pause");
return 0;
}
ecco il primo...
"david_e":
Forse ho frainteso l'esercizio, ma un semplice:
for(int i=0;i<DIM;++i) { ArraySomma[i]=a[i]+b[i]; }
invece di quei tre cicli innestati
grazie... sono riuscito a capire dove era l'errore!

#include
#include
#include
using namespace std;
int main () {
const int TERM=-1000;
const int dim=99;
float lista[dim];
int i;
i=0;
do{
cin>>lista;
i++;
}
while
(lista[i-1]!=TERM);
cout<<"\n\n";
float somma;
for(i=0;lista!=TERM;i++)
{
somma=0;
somma=somma +lista;
cout<< somma;
}
system ("pause");
return 0;
}
Questo programma dovrebbe stampare al somma degli elementi dell'array fino al Terminatore ...
invece li ristampa uguali ... ?
come è possibile?
#include
#include
using namespace std;
int main () {
const int TERM=-1000;
const int dim=99;
float lista[dim];
int i;
i=0;
do{
cin>>lista;
i++;
}
while
(lista[i-1]!=TERM);
cout<<"\n\n";
float somma;
for(i=0;lista!=TERM;i++)
{
somma=0;
somma=somma +lista;
cout<< somma;
}
system ("pause");
return 0;
}
Questo programma dovrebbe stampare al somma degli elementi dell'array fino al Terminatore ...
invece li ristampa uguali ... ?
come è possibile?
"Luck3":
for(i=0;lista[ i ]!=TERM;i++)
{
somma=0;
somma=somma +lista[ i ];
cout<< somma;
}
Per favore puoi mettere il codice racchiuso fra gli appositi tag di "code", altrimenti risulta difficilmente leggibile. Comunque l'errore qui è che "somma" va inizializzato a zero prima del ciclo for, altrimenti, ovviamente il codice ti stamperà solo l'elenco dei valori della lista:
somma=0; for(int i=0;lista[i]!=TERM;i++) { somma=somma +lista[i]; cout<< somma; }
come nota "stilistica" ti suggerirei di inizializzare i contatori direttamente nella chiamata del for perché ciò è più conforme all'approccio dell'ultimo standard del C++ riguardo agli ambiti di visibilità (evita side-effects).
Infine, ancora più importante, usare valori speciali per identificare la fine di strutture dati non è, in generale, una buona idea, anche se si può comprendere in questo caso "didattico".