Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
16/10/10 15:42
ciao888
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
const int A=10;
int numeri[A];
int n;
for ( int i = 0; i < A; i++, n % 2 = 0.5 )
numeri[i]=n;
}
void visualizzare (const int numeri[i]
{
cout << numeri[0], numeri[2], numeri[4], numeri[6], numeri[8];
}
}
questo è il programma, sicuramente ci saranno errori perchè è la prima volta che scrivo un programma con array, comunque a me dà errore sul for e non riesco ad andare avanti,il programma ha lo scopo di riempire un array coi i primi 10 numeri dispari,ditemi dove posso apportare le modifiche,grazie
aaa
16/10/10 15:59
TheKaneB
intanto mettiamoci il tag CODE
Postato originariamente da ciao888:
 #include <cstdlib>
 #include <iostream>
 using namespace std;
 int main(int argc, char *argv[])
 {
  const int A=10;
  int numeri[A];
  int n;
   for ( int i = 0; i < A; i++, n % 2 = 0.5 )
   numeri[i]=n;
   } 
    void visualizzare (const int numeri[i]
    {
     cout << numeri[0], numeri[2], numeri[4], numeri[6], numeri[8];
     }
     }

questo è il programma, sicuramente ci saranno errori perchè è la prima volta che scrivo un programma con array, comunque a me dà errore sul for e non riesco ad andare avanti,il programma ha lo scopo di riempire un array coi i primi 10 numeri dispari,ditemi dove posso apportare le modifiche,grazie


ora si legge meglio...

seconda cosa: questa istruzione
n % 2 = 0.5
non significa niente; è sbagliata grammaticalmente, sintatticamente e concettualmente.

terza cosa: ragiona sull'algoritmo

Se devi memorizzare i primi 10 numeri dispari, cioè 1 3 5 7 ecc..., devi partire da 1 e sommare 2 ad ogni passo dell'algoritmo.

Il codice corretto è pertanto questo:
// ...
const int A = 10;
int numeri[A];
int n = 1; // il nostro primo numero dispari
for (int i=0; i < A; i++)
{
    numeri[i] = n;
    n = n + 2; // incremento di 2, ottengo quindi il prossimo numero dispari
}
// ...


Correggi il codice in questo modo e vedrai che funziona... ah un'altra cosa: quando visualizzi i numeri fai un'altro ciclo for così:
for (int i=0; i<A; i++)
{
    cout << numeri[i] << " "; // stampo un numero e uno spazio
}
cout << endl; // stampo un carattere di fine riga
aaa
16/10/10 16:08
ciao888
ho fatto come hai detto,però mi dà errore su void visualizzare
aaa
16/10/10 16:11
ciao888
io avevo scritto alla fine numeri[0],numeri[2]..ecc..perchè il programma chiede di visualizzare questi indici solamente
aaa
16/10/10 16:25
ciao888
su void visualizzare ho risolto però mi dà errore sulla parentesi graffa sotto a visualizzare
aaa
16/10/10 16:28
TheKaneB
Postato originariamente da ciao888:

su void visualizzare ho risolto però mi dà errore sulla parentesi graffa sotto a visualizzare


hai fatto un casino con le parentesi... riposta l'intero sorgente con le ultime modifiche che te lo correggo...
aaa
16/10/10 16:31
ciao888
ok grazie tante

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
const int A=10;
int numeri[A];
int n;
for ( int i = 0; i < A; i++ )
{
numeri[i] = n;
n = n + 2;
}
}
void visualizzare (const int numeri[] [10]
{
for ( int i = 0; i < A; i++ )
cout << numeri[0], numeri[2], numeri[4], numeri[6], numeri[8];

}
ho scritto numeri[0],numeri[2],ecc..perchè il programma chiede la visualizzazione di quei indici
aaa
16/10/10 16:31
ciao888
ok grazie tante

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
const int A=10;
int numeri[A];
int n;
for ( int i = 0; i < A; i++ )
{
numeri[i] = n;
n = n + 2;
}
}
void visualizzare (const int numeri[] [10]
{
for ( int i = 0; i < A; i++ )
cout << numeri[0], numeri[2], numeri[4], numeri[6], numeri[8];

}
ho scritto numeri[0],numeri[2],ecc..perchè il programma chiede la visualizzazione di quei indici
aaa