Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- #include <fstream>
- using namespace std;
- ifstream f("date.in");
- int lin, col;
- int m[10][10];
- int main()
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- int z;
- /* Citire matrice */
- f >> lin;
- f >> col;
- for(int i = 1; i <= lin; i++)
- for(int j = 1; j <= col; j++)
- f >> m[i][j];
- /* Afisare matrice */
- for(int i = 1; i <= lin; i++)
- {
- for(int j = 1; j <= col; j++)
- cout << m[i][j] << " ";
- cout << "\n";
- }
- cout << "\n\n Pentru a trece mai departe, apasa 0 si ENTER";
- cin >> z;
- system("cls");
- cout << "\t Cum functioneaza matricea: \n";
- cout << "* Matricea e ca un tabel: contine linii si coloane. Liniile sunt notate cu i,\niar coloanele cu j.\n";
- cout << "* Deci, daca vrem sa ajungem la un element din matrice, folosim m[i][j].\nAccesam in matricea m, elementul de pe\nlinia i, coloana j.";
- cout << "C0: C = coloana. 0 = numarul coloanei;\n";
- cout << "L0: L = linia. 0 = numarul liniei;\n\n";
- cout << "\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++)
- cout << m[i][j] << " ";
- cout << '\n';
- }
- cout << "Pentru a trece la exemplu, apsa 0 si enter.";
- cin >> z;
- system("cls");
- cout << "[ Exemplu: Ce element din matrice vrei sa accesezi? (introdu numere valide te rog) ] \n";
- cout << "Linia: "; int l; cin >> l;
- cout << "Coloana: "; int c; cin >> c;
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if ( i == l && j == c) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
- else if(i == l || j == c) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- cout << "Poate pana acum a fost 'izi', asa ca apasa 0 si ENTER.";
- cin >> z;
- system("cls");
- cout << "In aceste tabele exista doua linii mai importante:\n";
- cout << "1. Diagonala principala ( rosu )\n";
- cout << "2. Diagonala secundara ( albastru )\n";
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if ( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- cout << "\n( Observatie: Elementele de pe diagonala principala\nindicele i si j egali, adica i = j )\n\n";
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if ( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- cout << "\n( Observatie: Elementele de pe diagonala secundara au suma indicelor\negala cu numarul de linii+1 i si j egali, adica i+j = n+1. )\n\n";
- cout << "Daca s-a inteles tot, atunci e bine. Trecem mai departe cu 0 si ENTER.";
- cin >> z;
- system("cls");
- cout << "Colosindu-ne de acele diagonale, in tabel se creaza\nniste zone 'importante':\n";
- cout << "0. Diagonala principala/secundara ( alb )\n";
- cout << "1. Deasupra diagonalei principale ( rosu )\n";
- cout << "2. Sub diagonala principala ( albastru )\n";
- cout << "3. Deasupra diagonalei secundare ( verde )\n";
- cout << "4. Sub diagonala principala ( galben )\n";
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- else if ( i > j) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\n\n\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- else if ( i + j < lin + 1 ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- cout << "Ok. Se poate si mai urat de atat.. ";
- cin >> z;
- system("cls");
- cout << "Cum ar fi sa afli ca mai sunt 4 zone importante in matrice?\n";
- cout << "(o sa notez diagonala principala = DP, si diagonala secundara = DS )\n";
- cout << "0. Diagonala principala/secundara ( alb )\n";
- cout << "1. zona NORD = Elementele comune DP si DS ( rosu )\n";
- cout << "2. zona EST = Elementele comune DP si DS ( albastru )\n";
- cout << "3. zona SUD = Elementele comune DP si DS ( verde )\n";
- cout << "4. zona VEST = Elementele comune DP si DS ( galben )\n";
- cout << "( mhm.. sper sa-mi iasa zonele.. )\n\n";
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "\n\n\tC1 C2 C3 C4 C5\n\n";
- for(int i = 1; i <= lin; i++)
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
- cout << "L" << i << "\t";
- for(int j = 1; j <= col; j++) {
- if( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- else if ( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- else if ( i < j && i + j <= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
- else if ( i < j && i + j >= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
- else if ( i > j && i + j <= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- else if ( i > j && i + j >= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
- else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- cout << m[i][j] << " ";
- }
- cout << '\n';
- }
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
- cout << "\n( Observatie: Trebuie sa intelegi foarte bine cum merg acei indici ( i si j ). )";
- cout << "Cam tat :D..";
- cin >> z;
- system("cls");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement