Advertisement
Eddie_1337

31 atestat

Apr 19th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. bool prim(int x) {
  8.     for (int i = 2; i <= sqrt(x); i++) {
  9.         if (!(x % i))
  10.             return 0;
  11.     }
  12.     return 1;
  13. }
  14.  
  15. void mutare(int v[100], int &m, int z) {
  16.     for (int j = m; j >= z; j--)
  17.         v[j + 1] = v[j];
  18.     m++;
  19. }
  20.  
  21. int main() {
  22.     int n, a[100][100], v[100], s = 0, m = 0;
  23.     ifstream f("atestat.in");
  24.     ofstream g("atestat.out");
  25.     v[0] = -1;
  26.     f >> n;
  27.     for (int i = 1; i <= n; i++) {
  28.         for (int j = 1; j <= n; j++) {
  29.             f >> a[i][j];
  30.             if (!m)
  31.                 v[++m] = a[i][j];
  32.             else {
  33.                 if (a[i][j] > v[m])
  34.                     v[++m] = a[i][j];
  35.                 else {
  36.                     int p = 0;
  37.                     while (p < m) {
  38.                         if (v[p] < a[i][j] && a[i][j] < v[p + 1]) {
  39.                             mutare(v, m, p + 1);
  40.                             v[p + 1] = a[i][j];
  41.                         }
  42.                         p++;
  43.                     }
  44.                 }
  45.             }
  46.         }
  47.         if (prim(a[n - i + 1][i]))
  48.             s++;
  49.     }
  50.     if (s)
  51.         g << s << '\n';
  52.     else
  53.         g << "nu exista";
  54.     for (int i = 1; i <= m; i++)
  55.         g << v[i] << ' ';
  56.     g << '\n' << m;
  57.     f.close();
  58.     g.close();
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement