View Full Version : [c++]esame di oggi..help
scrivere una matrice quadrata...si sommino gli elementi della diagonale principale...gli elementi al di sopra anch'essi sommarli sempre in \ e gli elementi al di sotto moltiplicarli sempre in \... :confused: :confused:
\=diagonale
marko.fatto
20-12-2007, 14:28
qual'è la domanda? vuoi il programma fatto? :mbe:
isAlreadyInUse
20-12-2007, 14:29
Io direi che per farla quadrata è indispensabile un buon righello :asd:
allora la somma la riesco a fare...ma la moltiplicazione sotto la diagonale cm si fa?
marko.fatto
20-12-2007, 14:36
Io direi che per farla quadrata è indispensabile un buon righello :asd:
:asd:
allora la somma la riesco a fare...ma la moltiplicazione sotto la diagonale cm si fa?
come se dovesi fare la somma solo che moltiplichi... e continui a "passare" le diagonali finchè non arrivi ad avere un solo elemento da moltiplicare a quelli precedenti :stordita:
potresti scrivere il frammento di codice nn so ma mi blocco io ho qst:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int righe,
colonne,
diagsize;
cout << "Inserire il numero di vettori della matrice quadrata" << endl;
cin >> righe;
colonne = righe;
diagsize = ( ( 2 * righe ) - 1 );
double **matrice = new double * [righe];
vector< double > diagonale( diagsize );
for(int i = 0; i < righe; ++i)
matrice[i] = new double[colonne];
for(int i = 0; i < righe; i++)
for(int j = 0; j < colonne; j++) {
cout << "Inserisci Elemento" << (i+1) <<" " << (j+1) << endl;
cin >> matrice[i][j];
}
for(int i = 0; i < righe; i++)
for(int j = 0; j < colonne; j++)
diagonale[righe-i+j] += matrice[i][j];
for(int i = 1; i <= diagsize; i++)
cout << "La somma della " << (i+1) << " diagonale e': " << diagonale[i] << endl;
system("PAUSE");
return 0;
}
ke mi fa la somma di tt le diagonali della matrice \ ora per fare la moltiplicazione al di sotto di qll princiaple cosa devo modificarE??
marko.fatto
20-12-2007, 15:02
i tag codeeee :cry:
comunque non l'ho provato ma è tipo questo :stordita:
double sotto=1;
for(int i=1;i<righe;i++)
for(int j=i-1;j<i;j++);
sotto*=matrice[i][j];
e qst qui ke hai scritto..dv lo devo inserire..?? alla fine al posto di qlks?
marko.fatto
20-12-2007, 15:09
qualsiasi posto dopo aver letto la matrice va bene (non dentro ad altri cicli :asd:)
mi dai un errore in sotto*=matrice[i][j];:mc:
marko.fatto
20-12-2007, 15:16
che errore?
-name lookup of `i' changed for new ISO `for' scoping
- using obsolete binding at `i'
-`j' undeclared (first use this function)
marko.fatto
20-12-2007, 15:26
ehm ce un ; di troppo...
double sotto=1;
for(int i=1;i<righe;i++)
for(int j=i-1;j<i;j++)
sotto*=matrice[i][j];
cmq l ho levato...compila pero nn fa la moltiplicazione continua a fare la somma delle diagonali help me
marko.fatto
20-12-2007, 16:05
ma lo fai stampare? :mbe: comunque se lasci così com'è ti stamperà sempre tutte le diagonali prima...
tu hai detto solo inseriscilo XD cmq no nn lo fatto stampare cm deve fare??(scusa sto alle prime armi):Prrr:
marko.fatto
20-12-2007, 16:15
:fagiano: :fagiano:
da così
for(int i = 1; i <= diagsize; i++)
cout<< "La somma della " << (i+1) << " diagonale e': " << diagonale[i] << endl;
a così
for(int i = 1; i <= diagsize; i++)
cout<< "La somma della " << (i+1) << " diagonale e': " << diagonale[i] << endl;
cout<<"La moltiplicazione della parte inferiore alla diagonale principale e': "<<sotto<<endl;
però questo potevi pensarci anche te a farlo :mbe:
ma tu stavi all'esame con me!!!!
comunque il programma io l'ho fatto, se vuoi appena mi calmo un po' me lo ricordo e te lo posto
ok ora va...pero mi da solo la moltiplicazione dei due elementi al di sotto della matrice,qnd invece mi serve anke qll dell uniko elemento(esempio 3*3 primo elemento 3 riga)
marko.fatto
20-12-2007, 16:31
puoi fare un esempio?
allroa ho una matrice
1 1 1
1 1 1
1 1 1
allroa la somma della diagonale principale è 3...qll degli elementi al di sopra è 2 e 1...invece la moltiplicazione al di sotto e 1 e 1..ok???
marko.fatto
20-12-2007, 16:49
allroa ho una matrice
1 1 1
1 1 1
1 1 1
allroa la somma della diagonale principale è 3...qll degli elementi al di sopra è 2 e 1...invece la moltiplicazione al di sotto e 1 e 1..ok???
come 1 e 1? ma devi fare la moltiplicazione di ogni diagonale a parte o di tutti gli elementi al di sotto della diagonale principale?
allora qll li al di sotto della diagonale principale devono essere moltiplicati pero sempre in \ quindi 1*1=1 e poi l unico elemenke ho 1...quindi sotto ho 1 e 1
marko.fatto
20-12-2007, 16:57
ah avevo capito male allora... :stordita:
adesso però devo scappare.. dopo se riesco lo rivedo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.