Pilnie potrzebuje 2 programów napisanych w C++ do następujących zadań:
1) Napisać program wykonujący operacje na macierzach:
a)transponujący macierz,
b)obliczający sumę/różnicę dwóch macierzy,
c)obliczający iloczyn dwóch macierzy.
2)Napisać program, który dla danej tablicy dwuwymiarowej porządkuje jej wiersze niemalejąco według wartości sumy elementów w wierszu.
Szczególnie zależy mi na zadaniu drugim. Z góry dzięki.
[C++] Zadania - macierze
-
- Użytkownik
- Posty: 30
- Rejestracja: 15 gru 2009, o 17:19
- Płeć: Mężczyzna
- Lokalizacja: ///
- Podziękował: 6 razy
- Pomógł: 3 razy
[C++] Zadania - macierze
Drugie:
Jeśli wolno na algorytmach uogólnionych :p
Rozmiar tablicy jest losowy od 5 do 10 a elementy mają wartości od 0 do 9.
Kod: Zaznacz cały
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <ctime>
bool CompVec (std::vector<int> v1, std::vector<int> v2)
{
return std::accumulate (v1.begin (), v1.end (), 0) < std::accumulate (v2.begin (), v2.end (), 0) ;
}
int main ()
{
srand (time (0)) ;
int n = (rand () % 5) + 5 ;
std::vector< std::vector<int> > vTab (n) ;
// zapełnienie tablicy losowo
for (int i=0 ; i<n ; ++i)
{
vTab[i].resize (n) ;
for (int j=0 ; j<n ; ++j)
{
vTab[i][j] = rand () % 9 ;
}
}
// wypisanie
for (int i=0 ; i<n ; ++i)
{
for (int j=0 ; j<n ; ++j) std::cout << vTab[i][j] << " " ;
std::cout << std::endl ;
}
std::cout << std::endl ;
// sortowanie
std::sort (vTab.begin (), vTab.end (), CompVec) ;
// wypisanie
for (int i=0 ; i<n ; ++i)
{
for (int j=0 ; j<n ; ++j) std::cout << vTab[i][j] << " " ;
std::cout << std::endl ;
}
return 0 ;
}
Rozmiar tablicy jest losowy od 5 do 10 a elementy mają wartości od 0 do 9.