Advertisement
enkov

Макет за задачи по ВКН (С++)

Sep 19th, 2016
1,844
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.31 KB | None | 0 0
  1. /*
  2. Макет за задачи по ВКН
  3. 1. Вход масив от фиксиран брой реални (цели) числа.
  4. 2. Брой на елементи, изпълняващи просто условие (неравенство).
  5. 3. Извеждане на индексите на елементи, изпълняващи просто условие (неравенство).
  6. 4  Извеждане на стойности на елементи, изпълняващи просто условие(неравенство)
  7. 5. Намиране на min/max/средна стойност/сума на елементите.
  8. 6. Сортировка /подреждане/ на елементи (метод на пряка селекция).
  9. */
  10.  
  11. #include <iostream>
  12. using namespace std;
  13.  
  14. int main()
  15. {
  16.     // т. 0 - масив от n елемента, ако работим с 1..n - декларираме n+1 елемента
  17.     const int n = 10;
  18.     int masiv[n + 1]; // float masiv[n+1]; ако трябва да е от дробни числа масива
  19.  
  20.     // т. 1 - вход на масива (въвеждане)
  21.     for (int i = 1; i <= n; i++)
  22.     {
  23.         cout << "Element " << i << " = ";
  24.         cin >> masiv[i];
  25.     }
  26.  
  27.     // т. 2 - Брой на елементи, изпълняващи просто условие (неравенство)
  28.     int broj = 0;
  29.     for (int i = 1; i <= n; i++)
  30.         if (masiv[i] <= 10)   // условието е по-малко или равни на 10 в случая
  31.             broj++;
  32.     cout << "Broia elementi s tova uslovie e " << broj << endl;
  33.  
  34.     // т. 3 - Извеждане на индексите на елементи, изпълняващи просто условие(неравенство)
  35.     cout << "Indeksite na elementite s tova uslovie sa: ";
  36.     for (int i = 1; i <= n; i++)
  37.         if (masiv[i] <= 10)   // условието е по-малко или равни на 10 в случая
  38.             cout << i << " ";
  39.     cout << endl; // това завършва реда с изброяване на индексите
  40.  
  41.     // т. 4 - Извеждане на стойности на елементи, изпълняващи просто условие(неравенство)
  42.     cout << "Stoinostite na elementite s tova uslovie sa: ";
  43.     for (int i = 1; i <= n; i++)
  44.         if (masiv[i] <= 10)   // условието е по-малко или равни на 10 в случая
  45.             cout << masiv[i] << " ";
  46.     cout << endl; // това завършва реда с извеждане на елементи с условие
  47.  
  48.     // т. 5 Намиране на min/max/средна стойност/сума на елементите
  49.     // ако масива е от float/double - трябва и min, max, suma да са от същия тип
  50.     int min = masiv[1];
  51.     int max = masiv[1];
  52.     int suma = masiv[1]; // ако сумата е по условие,
  53.     // тр. да е = 0, не на първия,
  54.     // защото той може да не отговори на условието,
  55.     // тогава и цикъла за suma няма да е от 2-рия ел.
  56.     // min/max/сума
  57.     for (int i = 2; i <= n; i++)
  58.     {
  59.         if (masiv[i] < min)
  60.             min = masiv[i];
  61.         if (masiv[i] > max)
  62.             max = masiv[i];
  63.         suma = suma + masiv[i];
  64.     }
  65.     // за средно аритметично сумата се дели на броя (на n).
  66.     // трябва да се внимава да е дробно число - преобразуване до float,
  67.     // ако масива е от тип int - иначе е float sredno = suma / n;
  68.     float sredno = suma / float(n);
  69.     // извеждат се нужните неща
  70.     cout << "Min el. e " << min << ", max el. e " << max;
  71.     cout << " sumata na vsichki el. e " << suma;
  72.     cout << " sredno artimetìchno ot  vsichki el. e " << sredno << endl;
  73.  
  74.  
  75.     //  т.6. Сортировка /подреждане/ на елементи (метод на пряка селекция).
  76.     for (int i = 1; i < n; i++)
  77.     {
  78.         int min_nomer = i;
  79.         for (int j = i + 1; j <= n; j++)
  80.             if (masiv[j] < masiv[min_nomer]) // за намаляващ ред > (макс)
  81.                  min_nomer = j;
  82.         swap(masiv[i], masiv[min_nomer]);
  83.     }
  84.     cout << "Sorted: " << endl;
  85.     for (int i = 1; i <= n; i++)
  86.         cout << "Element " << i << " = " << masiv[i] << endl;
  87.    
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement