A matrix

Mar 18, 2011 at 6:30pm
A code for matrix made by myself, I know that I didnt translate the comments but I hope you will manage well understanding

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <fstream>
using namespace std;
int main()
{
    // Introducem o matrice de 1000 randuri si 1000 coloane incepand cu 1
    int matrix[1001][1001];
    int transpusa[1001][1001];
    int k=0,l=0,i,j,max,min,transpusa;
    // Introducem ca baza de date pentru citire si scriere fisierele matrix.in respectiv matrix.out
    ifstream in("matrix.in");
    ofstream out("matrix.out");
    // Parcurgem matricea
    for (i=1; i<=1001; ++i)
        for (j=1; j<=1001; ++j)
        {
            // Citim o valoare din fisierul matrix.in pentru spatiul de pe linia i si coloana j
            in>>matrix[i][j];
            // Initializam maximul si minimul matricii cu primul element din matrice
            max=matrix[1][1];
            min=matrix[1][1];
            // Verificam daca exista un numar mai mare in matrice decat cel presupus, iar daca da maximul ia valoarea matrix[i][j]
            if (max>matrix[i][j])
            {
                                 max=matrix[i][j];
                                 // Calculam cate inlocuiri s-au efectuat pana s-a ajuns la valoarea maxima din matrice
                                 k++;
            }
            // Verificam daca exista un numar mai mic in matrice decat cel presupus, iar daca da minimul ia valoarea matrix[i][j]
            if (min<matrix[i][j])
            {
                                 min=matrix[i][j];
                                 // Calculam cate inlocuiri s-au efectuat pana s-a ajuns la valoarea minima din matrice
                                 l++;
            }
            // Calculam transpusa matricii cu j linii si i coloane
            transpusa[j][i]=matrix[i][j];
            // Afisam in fisierul matrix.out valoarea pentru transpusa matricei, valoarea minima si maxima din matrice
            out<<transpusa[j][i]<<" ";
            out<<" "<<min<<" "<<max;
            // Afisam si contorul pentru minim si maxim
            out<<" "<<k<<" "<<l;
        }
    
    in.close();
    out.close();
    return 0;
}
Mar 18, 2011 at 6:54pm
Nice, now make a class for it! :D
Mar 18, 2011 at 7:38pm
yeah, I did an update for it. And good idea Ill do a class for it ;D thanks.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <fstream>
using namespace std;

// Initializam o functie "afiseazaMatricea", care sa poata fi folosita pt. a afisa toate valorile matricei si pozitiile lor
void afiseazaMatricea(double matrix[1001][1001])
{
     int i,j;
     for (i=1; i<=1001; ++i)
         for (j=1; j<=1001; ++j)
         {
             out<<"Valoarea matricei pentru linia "<<i<<" si coloana "<<j<<" este: "<<matrix[i][j]<<"\n";
         }
}

// Initializam o functie "afiseazaTranspusa", care sa poata fi folosita pt. a afisa toate valorile transpusei si pozitiile lor
void afiseazaTranspusa(double transpusa[1001][1001])
{
     int i,j;
     for (i=1; i<=1001; ++i)
         for (j=1; j<=1001; ++j)
         {
             out<<"Valoarea transpusei pentru linia "<<j<<" si coloana "<<i<<" este: "<<transpusa[j][i]<<"\n";
         }
}

// Vom calcula minimul, maximul, transpusa matricei si vom verifica cate min si max au fost gasite pe parcurs si afisam matricea
int main()
{
    // Introducem o matrice de 1000 randuri si 1000 coloane incepand cu 1
    int matrix[1001][1001];
    int transpusa[1001][1001];
    int k=0,l=0,i,j,max,min,transpusa;
    // Introducem ca baza de date pentru citire si scriere fisierele matrix.in respectiv matrix.out
    ifstream in("matrix.in");
    ofstream out("matrix.out");
    // Parcurgem matricea
    for (i=1; i<=1001; ++i)
        for (j=1; j<=1001; ++j)
        {
            // Citim o valoare din fisierul matrix.in pentru spatiul de pe linia i si coloana j
            in>>matrix[i][j];
            // Initializam maximul si minimul matricii cu primul element din matrice
            max=matrix[1][1];
            min=matrix[1][1];
            // Verificam daca exista un numar mai mare in matrice decat cel presupus, iar daca da maximul ia valoarea matrix[i][j]
            if (max>matrix[i][j])
            {
                                 max=matrix[i][j];
                                 // Calculam cate inlocuiri s-au efectuat pana s-a ajuns la valoarea maxima din matrice
                                 k++;
            }
            // Verificam daca exista un numar mai mic in matrice decat cel presupus, iar daca da minimul ia valoarea matrix[i][j]
            if (min<matrix[i][j])
            {
                                 min=matrix[i][j];
                                 // Calculam cate inlocuiri s-au efectuat pana s-a ajuns la valoarea minima din matrice
                                 l++;
            }
            // Calculam transpusa matricii cu j linii si i coloane
            transpusa[j][i]=matrix[i][j];
            // Afisam in fisierul matrix.out valoarea pentru transpusa matricei, valoarea minima si maxima din matrice
            out<<transpusa[j][i]<<" ";
            out<<" "<<min<<" "<<max;
            // Afisam si contorul pentru minim si maxim
            out<<" "<<k<<" "<<l;
            // Afisam matricea cu pozitia si valoarea corespunzatoare folosind functia definita anterior
            out<<afiseazaMatricea(matrix);
            // Afisam transpusa matricei cu pozitia si valoarea corespunzatoare folosind functia definita anterior
            out<<afiseazaTranspusa(transpusa);
        }
    
    in.close();
    out.close();
    return 0;
}

Last edited on Mar 18, 2011 at 9:27pm
Topic archived. No new replies allowed.