PDA

Visualizza la versione completa : [C++] Migliorare questo programma con gli array


MaStErYuRi
21-05-2005, 21:12
Ciao ragazzi!


Ho scritto questo programma:




#include <iostream.h> //libreria input/output
#include <stdlib.h> // libreria standard

main()
{
int a;
int b;
int c;
int quadrato_a;
int cubo_a;
int quadrato_b;
int cubo_b;
int quadrato_c;
int cubo_c;

cout << "inserisci tre numeri" << endl;

cin >> a;
cin >> b;
cin >> c;


quadrato_a=a*a;
quadrato_b=b*b;
quadrato_c=c*c;
cubo_a=a*a*a;
cubo_b=b*b*b;
cubo_c=c*c*c;

cout << "_____________" << endl;
cout << "X X^2 X^3" << endl;
cout << "_____________" << endl;
cout << a << " " << quadrato_a << " " << cubo_a << endl;
cout << b << " " << quadrato_b << " " << cubo_b << endl;
cout << c << " " << quadrato_c << " " << cubo_c << endl;

system("PAUSE");
return(0);
}


Dato che dal codice, non è molto comprensibile la grafica del programma eseguito, vi riporto un piccolo esempio di esso:



_____________
X X^2 X^3
_____________

2 4 8

3 9 27

4 16 64



Sinceramente non ho capito tanto bene l'utilizzo degli array, ma ne ho capito la funzione e l'utilità.. (spero)

Al posto di tutte queste variabili in questo programma, si può utilizzare un array?

Ne potrò approfittare

1 per rendere più elegante questo programmino da niente
2 per imparare ad usare gli array

Grazie :)

anx721
21-05-2005, 23:57
Potesti utilizzare un array di 9 locazioni memorizzando nelle prime tre posizioni a, b, c; nelle posizione 4, 5 e 6 i quadrati e enelle ultime tre i cubi:



//I nomi corretti per gli header in c++ è questo:
#include <iostream> //libreria input/output
#include <cstdlib> // libreria standard

main()
{
int numeri[9];
cout << "inserisci tre numeri" << endl;
cin >> numeri[0];
cin >> numeri[1];
cin >> numeri[2];

//calcolo i quadrati
numeri[3] = numeri[0] * numeri[0];
numeri[4] = numeri[1] * numeri[1];
numeri[5] = numeri[2] * numeri[2];

//calcolo i cubi
numeri[6] = numeri[0] * numeri[3];
numeri[7] = numeri[1] * numeri[4];
numeri[8] = numeri[2] * numeri[5];

cout << "_____________" << endl;
cout << "X X^2 X^3" << endl;
cout << "_____________" << endl;

cout << numeri[0] << " " << numeri[3] <<
" " << numeri[6] << endl;
cout << numeri[1] << " " << numeri[4] <<
" " << numeri[7] << endl;
cout << numeri[2] << " " << numeri[5] <<
" " << numeri[8] << endl;

system("PAUSE");
return(0);
}

MaStErYuRi
22-05-2005, 01:37
grazie 1000 per la pazienza e la collaborazione...
cerco di riprendere i sensi (sai... dopo una seratina di sabato..), e poi all'opera :D

MaStErYuRi
22-05-2005, 01:46
il programma scritto da te mi sembra averlo capito, dopo lo provo a scrivere da capo.

L'unica cosa, una piccola lacunetta sugli array:
se dispongo di un array "pippo[10]", gli indici vanno da 0 a 9?

MaStErYuRi
22-05-2005, 02:30
Grazie ancora, ecco il programma ultimato:


#include <iostream.h>
#include <stdlib.h>

main()
{
int num[9];

cout << "inserisci tre numeri" << endl;

cin >> num[0];
cin >> num[1];
cin >> num[2];

//Quadrati
num[3] = num[0] * num[0];
num[4] = num[1] * num[1];
num[5] = num[2] * num[2];

//Cubi
num[6] = num[0] * num[3];
num[7] = num[1] * num[4];
num[8] = num[2] * num[5];

cout << "_______________" << endl;
cout << " X X^2 X^3 " << endl;
cout << "_______________" << endl;
cout << num[0] << " " << num[3] << " " << num[6] << endl;
cout << num[1] << " " << num[4] << " " << num[7] << endl;
cout << num[2] << " " << num[5] << " " << num[8] << endl;

system("PAUSE");

return(0);
}



Mi hai fatto capire benissimo gli array, ora mi avvio ai cicli.
:ciauz:

Loading