Advertisement
Dani_info

Tema_06.06.2018_BAC

Jun 6th, 2018
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     int pb;
  8.     cout << "Introdu numarul problemei:" << endl; cin >> pb;
  9.     switch (pb) {
  10.         case 1: {//V 44, pb.5
  11.             int n;
  12.             cout << "n="; cin >> n;//n<=23 && n>=0
  13.             int **v = new int *[n];
  14.             for (int i = 0; i < n; i++) v[i] = new int[n];
  15.             cout << "Matricea formata este:" << endl;
  16.             //elemente mai mici decat n, linii coloane cu sume diferite
  17.             for (int i = 0; i < n; i++) {
  18.                 for (int j = 0; j < n; j++) {
  19.                     if (i == 0) v[i][j] = 1;
  20.                     else if (j == 0) v[i][j] = 1;
  21.                         else v[i][j] = v[i - 1][j - 1] + v[i - 1][j];
  22.                 }
  23.             }
  24.             for (int i = 0; i < n; i++) {
  25.                 for (int j = 0; j < n; j++)
  26.                     cout << v[i][j] << " ";
  27.                 cout << endl;
  28.             }
  29.             break;
  30.         }
  31.         case 2: {//V 48, pb.3
  32.             //graf???????????
  33.             break;
  34.         }
  35.         case 3: {// V 50, pb.4
  36.             int n; cout << "n="; cin >> n;
  37.             int **v = new int *[n];
  38.             for (int i = 0; i < n; i++) v[i] = new int[n];
  39.             //generare matrice
  40.             int lin = 0, col = n - 1, k=1;
  41.             int p;
  42.             (n % 2) ? (p = n / 2 + 1) : (p = n / 2);
  43.             for (int s = 0; s < p; s++) {
  44.                 for (int i = n-col-1; i < col; i++)
  45.                     v[lin][i] = k++;
  46.                 lin++;
  47.                 for (int i = lin - 1; i <= n-lin; i++)
  48.                     v[i][col] = k++;
  49.                 col--;
  50.                 for (int i = col; i >= n-col-2; i--)
  51.                     v[n - lin][i] = k++;
  52.                 for (int i = n - lin - 1; i >= lin; i--)
  53.                     v[i][n - col - 2] = k++;
  54.             }
  55.    
  56.             cout << "Matricea formata este:" << endl;
  57.             for (int i = 0; i < n; i++) {
  58.                 for (int j = 0; j < n; j++)
  59.                     cout << v[i][j] << " ";
  60.                 cout << endl;
  61.             }
  62.             break;
  63.         }
  64.         case 4: {// V 54, pb 5
  65.             int n; cout << "n="; cin >> n;
  66.             int **v = new int *[n];
  67.             for (int i = 0; i < n; i++) v[i] = new int[n];
  68.             int x; //de 3 cifre
  69.             cout << "x="; cin >> x;
  70.             for (int i = 0; i < n; i++) {
  71.                 for (int j = 0; j < n; j++)
  72.                     v[i][j] = (x / 10) % 10;
  73.             }
  74.             for (int i = 0; i < n; i++) {
  75.                 v[i][i] = x / 100;
  76.                 v[i][n - i - 1] = x % 10;
  77.             }
  78.             cout << "Matricea formata este:" << endl;
  79.             for (int i = 0; i < n; i++) {
  80.                 for (int j = 0; j < n; j++)
  81.                     cout << v[i][j] << " ";
  82.                 cout << endl;
  83.             }
  84.             break;
  85.         }
  86.         case 5: {// V 63, pb.5
  87.             int  n; cout << "n="; cin >> n;
  88.             int m; cout << "m="; cin >> m;
  89.             int **v = new int *[n];
  90.             for (int i = 0; i < n; i++) v[i] = new int[m];
  91.             int k = 1;
  92.             for (int i = 0; i < m; i++) {
  93.                 for (int j = 0; j < n; j++)
  94.                     v[j][i] = k++;
  95.             }
  96.             cout << "Matricea formata este:" << endl;
  97.             for (int i = 0; i < n; i++) {
  98.                 for (int j = 0; j < m; j++)
  99.                     cout << v[i][j] << " ";
  100.                 cout << endl;
  101.             }
  102.             break;
  103.         }
  104.         case 6: {// V 68, pb.5
  105.             int  n; cout << "n="; cin >> n;
  106.             int m; cout << "m="; cin >> m;
  107.             int **v = new int *[n+1];
  108.             int p = 1;
  109.             for (int i = 0; i < n+1; i++) v[i] = new int[m+1];
  110.             cout << "Introduceti elementele matricei:" << endl;
  111.             for (int i = 1; i <= n; i++) {
  112.                 for (int j = 1; j <= m; j++) {
  113.                     cin >> v[i][j];
  114.                     if (!(i % 2)) {
  115.                         if (j % 2)
  116.                             if (v[i][j] >= 0)
  117.                                 p *= v[i][j];
  118.                     }
  119.                 }
  120.             }
  121.             cout << "Ultima cifra este: " << p % 10 << endl;
  122.             break;
  123.         }
  124.         case 7: {// V 74, pb.5
  125.             int n; cout << "n="; cin >> n;
  126.             int **v = new int *[n];
  127.             for (int i = 0; i < n; i++) v[i] = new int[n];
  128.             v[0][1] = v[0][0] = 1;
  129.             //linia 0
  130.             for (int i = 2; i < n; i++) v[0][i] = v[0][i - 1] + v[0][i - 2];
  131.             //restul
  132.             for (int i = 1; i < n; i++) {
  133.                 for (int j = 0; j < n; j++) {
  134.                     if (j == 0) {
  135.                         v[i][j] =v[i - 1][n - 1] + v[i - 1][n - 2];
  136.                     }
  137.                     if (j == 1) {
  138.                         v[i][j] = v[i][j - 1] + v[i - 1][n - 1];
  139.                     }
  140.                     if (j!=1 && j!=0)
  141.                         v[i][j] = v[i][j - 2] + v[i][j - 1];
  142.                 }
  143.             }
  144.             cout << "Matricea formata este:" << endl;
  145.             for (int i = 0; i < n; i++) {
  146.                 for (int j = 0; j <n ; j++)
  147.                     cout << v[i][j]  % 10 << " ";
  148.                 cout << endl;
  149.             }
  150.             break;
  151.         }
  152.         case 8:{// V 75, pb.5
  153.             int  n; cout << "n="; cin >> n;
  154.             int **v = new int *[n + 1];
  155.             for (int i = 0; i <= n; i++) v[i] = new int[n+1];
  156.             for (int i = 1; i <= n; i++) {
  157.                 for (int j = 1; j <= n; j++) {
  158.                     v[i][j] = (i + j)*(i + j);
  159.                 }
  160.             }
  161.             cout << "Matricea formata este:" << endl;
  162.             for (int i = 1; i <= n; i++) {
  163.                 for (int j = 1; j <= n; j++)
  164.                     cout << v[i][j] << " ";
  165.                 cout << endl;
  166.             }
  167.             break;
  168.         }
  169.         case 9: {// V 37 , pb.3-sub 3
  170.             //permutare circulara cu k pozitii spre stg
  171.             int n; cout << "n="; cin >> n;
  172.             int k; cout << "k="; cin >> k;
  173.             int *v = new int[n];
  174.             cout << "Introdu elementele vectorului:" << endl;
  175.             for (int i = 0; i < n; i++) cin >> v[i];
  176.             int *v_nou = new int[n];
  177.             for (int i = 0; i < n; i++) {
  178.                 if (i - k >= 0)
  179.                     v_nou[i - k] = v[i];
  180.                 else
  181.                     v_nou[n - abs(i-k)] = v[i];
  182.             }
  183.             cout << "Vectorul format este:" << endl;
  184.             for (int i = 0; i < n; i++) cout << v_nou[i] << " ";
  185.         }
  186.        
  187.     }
  188.     system("pause");
  189.     return 0;
  190. }
Advertisement
RAW Paste Data Copied
Advertisement