Advertisement
Five_NT

aaassd

May 4th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. ifstream f("date.in");
  8.  
  9. int lin, col;
  10. int m[10][10];
  11.  
  12. int main()
  13. {
  14.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  15.     int z;
  16.     /*  Citire matrice */
  17.     f >> lin;
  18.     f >> col;
  19.  
  20.     for(int i = 1; i <= lin; i++)
  21.         for(int j = 1; j <= col; j++)
  22.             f >> m[i][j];
  23.  
  24.     /*  Afisare matrice */
  25.     for(int i = 1; i <= lin; i++)
  26.     {
  27.         for(int j = 1; j <= col; j++)
  28.             cout << m[i][j] << " ";
  29.         cout << "\n";
  30.     }
  31.  
  32.     cout << "\n\n Pentru a trece mai departe, apasa 0 si ENTER";
  33.     cin >> z;
  34.  
  35.  
  36.     system("cls");
  37.  
  38.     cout << "\t Cum functioneaza matricea: \n";
  39.     cout << "* Matricea e ca un tabel: contine linii si coloane. Liniile sunt notate cu i,\niar coloanele cu j.\n";
  40.     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.";
  41.     cout << "C0: C = coloana. 0 = numarul coloanei;\n";
  42.     cout << "L0: L = linia. 0 = numarul liniei;\n\n";
  43.  
  44.     cout << "\tC1 C2 C3 C4 C5\n\n";
  45.  
  46.     for(int i = 1; i <= lin; i++)
  47.     {
  48.         cout << "L" << i << "\t";
  49.         for(int j = 1; j <= col; j++)
  50.             cout << m[i][j] << " ";
  51.  
  52.         cout << '\n';
  53.     }
  54.  
  55.     cout << "Pentru a trece la exemplu, apsa 0 si enter.";
  56.     cin >> z;
  57.     system("cls");
  58.  
  59.     cout << "[ Exemplu: Ce element din matrice vrei sa accesezi? (introdu numere valide te rog) ] \n";
  60.     cout << "Linia: "; int l; cin >> l;
  61.     cout << "Coloana: "; int c; cin >> c;
  62.  
  63.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  64.     cout << "\tC1 C2 C3 C4 C5\n\n";
  65.  
  66.     for(int i = 1; i <= lin; i++)
  67.     {
  68.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  69.         cout << "L" << i << "\t";
  70.         for(int j = 1; j <= col; j++) {
  71.             if ( i == l && j == c) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
  72.             else if(i == l || j == c) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
  73.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  74.             cout << m[i][j] << " ";
  75.         }
  76.         cout << '\n';
  77.     }
  78.  
  79.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  80.  
  81.     cout << "Poate pana acum a fost 'izi', asa ca apasa 0 si ENTER.";
  82.     cin >> z;
  83.     system("cls");
  84.  
  85.     cout << "In aceste tabele exista doua linii mai importante:\n";
  86.     cout << "1. Diagonala principala ( rosu )\n";
  87.     cout << "2. Diagonala secundara ( albastru )\n";
  88.  
  89.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  90.     cout << "\tC1 C2 C3 C4 C5\n\n";
  91.  
  92.     for(int i = 1; i <= lin; i++)
  93.     {
  94.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  95.         cout << "L" << i << "\t";
  96.         for(int j = 1; j <= col; j++) {
  97.             if ( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
  98.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  99.             cout << m[i][j] << " ";
  100.         }
  101.         cout << '\n';
  102.     }
  103.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  104.     cout << "\n( Observatie: Elementele de pe diagonala principala\nindicele i si j egali, adica i = j )\n\n";
  105.  
  106.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  107.     cout << "\tC1 C2 C3 C4 C5\n\n";
  108.  
  109.     for(int i = 1; i <= lin; i++)
  110.     {
  111.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  112.         cout << "L" << i << "\t";
  113.         for(int j = 1; j <= col; j++) {
  114.             if ( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
  115.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  116.             cout << m[i][j] << " ";
  117.         }
  118.         cout << '\n';
  119.     }
  120.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  121.     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";
  122.  
  123.  
  124.     cout << "Daca s-a inteles tot, atunci e bine. Trecem mai departe cu 0 si ENTER.";
  125.     cin >> z;
  126.     system("cls");
  127.  
  128.     cout << "Colosindu-ne de acele diagonale, in tabel se creaza\nniste zone 'importante':\n";
  129.     cout << "0. Diagonala principala/secundara ( alb )\n";
  130.     cout << "1. Deasupra diagonalei principale ( rosu )\n";
  131.     cout << "2. Sub diagonala principala ( albastru )\n";
  132.     cout << "3. Deasupra diagonalei secundare ( verde )\n";
  133.     cout << "4. Sub diagonala principala ( galben )\n";
  134.  
  135.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  136.     cout << "\tC1 C2 C3 C4 C5\n\n";
  137.  
  138.     for(int i = 1; i <= lin; i++)
  139.     {
  140.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  141.         cout << "L" << i << "\t";
  142.         for(int j = 1; j <= col; j++) {
  143.             if( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  144.             else if ( i > j) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
  145.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
  146.             cout << m[i][j] << " ";
  147.         }
  148.         cout << '\n';
  149.     }
  150.  
  151.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  152.     cout << "\n\n\tC1 C2 C3 C4 C5\n\n";
  153.  
  154.     for(int i = 1; i <= lin; i++)
  155.     {
  156.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  157.         cout << "L" << i << "\t";
  158.         for(int j = 1; j <= col; j++) {
  159.             if( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  160.             else if ( i + j < lin + 1 ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
  161.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
  162.             cout << m[i][j] << " ";
  163.         }
  164.         cout << '\n';
  165.     }
  166.  
  167.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  168.  
  169.     cout << "Ok. Se poate si mai urat de atat.. ";
  170.     cin >> z;
  171.     system("cls");
  172.  
  173.     cout << "Cum ar fi sa afli ca mai sunt 4 zone importante in matrice?\n";
  174.     cout << "(o sa notez diagonala principala = DP, si diagonala secundara = DS )\n";
  175.     cout << "0. Diagonala principala/secundara ( alb )\n";
  176.     cout << "1. zona NORD = Elementele comune DP si DS ( rosu )\n";
  177.     cout << "2. zona EST = Elementele comune DP si DS ( albastru )\n";
  178.     cout << "3. zona SUD = Elementele comune DP si DS ( verde )\n";
  179.     cout << "4. zona VEST = Elementele comune DP si DS ( galben )\n";
  180.     cout << "( mhm.. sper sa-mi iasa zonele.. )\n\n";
  181.  
  182.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  183.     cout << "\n\n\tC1 C2 C3 C4 C5\n\n";
  184.  
  185.     for(int i = 1; i <= lin; i++)
  186.     {
  187.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);
  188.         cout << "L" << i << "\t";
  189.         for(int j = 1; j <= col; j++) {
  190.             if( i + j == lin + 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  191.             else if ( i == j ) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  192.             else if ( i < j && i + j <= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
  193.             else if ( i < j && i + j >= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
  194.             else if ( i > j && i + j <= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
  195.             else if ( i > j && i + j >= lin) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
  196.             else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
  197.             cout << m[i][j] << " ";
  198.         }
  199.         cout << '\n';
  200.     }
  201.  
  202.     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
  203.     cout << "\n( Observatie: Trebuie sa intelegi foarte bine cum merg acei indici ( i si j ). )";
  204.  
  205.     cout << "Cam tat :D..";
  206.     cin >> z;
  207.     system("cls");
  208.  
  209.  
  210.     return 0;
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement