[C++] Zadania - macierze

rafdaw
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 13 gru 2010, o 19:37
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 1 raz

[C++] Zadania - macierze

Post autor: rafdaw »

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.
mis02
Użytkownik
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

Post autor: mis02 »

Drugie:

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 ;
}
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.
ODPOWIEDZ