Ślad macierzy
Ostatnio zmodyfikowano 2010-11-06 08:26
Tymek Temat założony przez niniejszego użytkownika |
Ślad macierzy » 2010-11-04 23:08:10 Witam mam za zadanie , napisać program 1 oraz 2 wymiarowy który policzy sumę elementów , element maksymalny oraz ślad macierzy . Problem tkwi w tym że nie mogę znaleźć dobrego wytłumaczenia na ślad macierzy oraz jak mam to rozumieć . Jeżeli ktoś może wie proszę o odpowiedzieć . |
|
F90M |
» 2010-11-05 14:01:44 ślad macierzy jest dobrze na wiki opisany pl.wikipedia.org - ślad macierzyŚlad macierzy – w algebrze liniowej suma elementów na głównej przekątnej macierzy kwadratowej. | pl.wikipedia.org - główna przekątnaGłówną przekątną macierzy kwadratowej A nazywamy wektor (a11,a22,...,ann) |
przykładowy kod (tablica dwuwymiarowa) int iMacierz[ 50 ][ 50 ];
int iSladMacierzy;
for( int n = 0; n < 50; n++ ) { iSladMacierzy += iMacierz[ n ][ n ]; }
Poprawcie mnie jeśli się mylę. |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-05 21:18:04 Wyczarowałem takie coś jest to poprawne?? a może da się to zrobić w lepszy sposób?:D
#include<iostream> #include<time.h> using namespace std; main() { srand(time(0)); float tablica[10][10], s=0, max=0, slad=0; for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { tablica[j]=rand(); s+=tablica[j]; if(i==j) { slad+=tablica[j]; } if (max<tablica[j]) { max=tablica[j]; } } } cout<<"Suma wszystkich elementow:\t"<<s<<endl; cout<<"Element maksymalny:\t"<<max<<endl; cout<<"Slad macierzy:\t"<<slad<<endl; system("pause"); }
|
|
ison |
» 2010-11-05 21:23:23 pomijając już fakt, że main powinien zwracać int to masz złe użycie tablic, raz traktujesz ją jako 2 wymiarową a raz jako 1 wymiarową lepiej używać preinkrementacji(++i) zamiast postinkrementacji(i++) |
|
F90M |
» 2010-11-06 02:33:02 @ison, z czystej ciekawości: czy kiedykolwiek wystąpi różnica różnica, między pre a postinkrementacją, w takich pętlach for? for (int a = 0; a < 100; ++a){}; for (int a = 0; a < 100; a++){}; |
|
ison |
» 2010-11-06 08:26:19 @up przy takim zapisie nie ma to zbyt wielkiego znaczenia, ale w innych przypadkach może mieć różnica jest taka że postinkrementacja tworzy element tymczasowy, a preinkrementacja nie te dwie pętle for, które podałeś będą się wykonywały tyle samo razy, niezależnie jakiej inkrementacji użyjesz więcej informacji na ten temat: http://www.codeguru.com/forum/showthread.php?t=231052 |
|
« 1 » |