Phoenix_x

Untitled

Dec 2nd, 2017
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.17 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void readData(int A[], int &size);
  7. void getEvenNumbersAndLargest(int A[], int AN[], int size, int& size_even);
  8. void printSortedAscending(int numbers[], int size);
  9.  
  10. void main()
  11. {
  12.     int A[30]; //masiv ot vsichki chisla
  13.     int AN[30]; //masiv ot chetni chisla
  14.  
  15.     int size = 0; //razmernost zadadena ot potrebitel
  16.     int size_even = 0; //razmernost na masiv ot chetni chisla
  17.  
  18.     while (true) {
  19.         cout << "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * " << endl;
  20.         cout << "Izberete 1 za vavezdane na razmernost i elementi na masiv." << endl;
  21.         cout << "Izberete 2 za formirane na masiv ot chetnite chisla(AN) i naj-golqmata mu stojnost." << endl;
  22.         cout << "Izberete 3 za izvezdane na masiva A sortiran vazhodqshto." << endl;
  23.         cout << "Izberete 4 za izvezdane na masiva AN sortiran vazhodqshto." << endl;
  24.         cout << "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * " << endl;
  25.         cout << "Vashata opciq: ";
  26.  
  27.         int option;
  28.         cin >> option;
  29.  
  30.         switch (option)
  31.         {
  32.         case 1:
  33.             //funkciq za chetene na vhod
  34.             readData(A, size);
  35.             break;
  36.         case 2:
  37.             //formirane na AN i naj-golqmata mu stojnost
  38.             getEvenNumbersAndLargest(A, AN, size, size_even);
  39.             break;
  40.         case 3:
  41.             //sortirane vazhodqshto i izvezdane na elementite na sortiraniq masiv A
  42.             printSortedAscending(A, size);
  43.             break;
  44.         case 4:
  45.             //sortirane vazhodqshto i izvezdane na elementite na sortiraniq masiv AN
  46.             printSortedAscending(AN, size_even);
  47.             break;
  48.         }
  49.     }
  50. }
  51.  
  52. void readData(int A[], int &size)
  53. {
  54.     cout << "Razmernost(n): ";
  55.     cin >> size; //zadavane na razmernost
  56.  
  57.     while (size <= 1 && size >= 30) { //validaciq na razmernost)
  58.         cout << "Nevalidna razmernost.";
  59.         cout << "Vavedete razmernost otnovo: ";
  60.         cin >> size;
  61.     }
  62.  
  63.     for (int i = 0; i < size; i++) //vavezdane na elementi
  64.     {
  65.         cout << "A[" << i << "]" << " = ";
  66.         cin >> A[i];
  67.     }
  68. } //
  69.  
  70. void getEvenNumbersAndLargest(int A[], int AN[], int size, int& size_even)
  71. {
  72.     cout << "Masiva za chetni chisla e formiran." << endl;
  73.     int even_index = 0;
  74.     int max_even = -9999999;
  75.  
  76.     //formirane na masiv ot chetni chisla:
  77.     for (int i = 0; i < size; i++)
  78.     {
  79.         if (A[i] % 2 == 0)
  80.         {
  81.             AN[even_index] = A[i];
  82.             even_index++;
  83.         }
  84.     }
  85.  
  86.     size_even = even_index;
  87.  
  88.     //namirane na naj-golqmata stojnost:
  89.     for (int i = 0; i < size_even; i++)
  90.     {
  91.         if (AN[i] > max_even)
  92.         {
  93.             max_even = AN[i];
  94.         }
  95.     }
  96.  
  97.     //izvezdane na naj-golqmata stojnost:
  98.     if (size_even == 0) //proverka dali e namereno chetno chislo
  99.     {
  100.         cout <<"Masivat ot chetni chisla(AN) nqma elementi."<< endl;
  101.     }
  102.  
  103.     else //ako sadarza chisla, printiraj naj-golqmoto
  104.     {
  105.         cout <<"Naj-golqmo chetno chislo: " << max_even << endl;
  106.     }
  107.  
  108. }
  109.  
  110. void printSortedAscending(int numbers[], int size)
  111. {
  112.     //sort ascending:
  113.     int temp;
  114.  
  115.     for (int i = 0; i < size; i++)
  116.     {
  117.         for (int j = i + 1; j < size; j++)
  118.         {
  119.             if (numbers[i] > numbers[j])
  120.             {
  121.                 temp = numbers[i];
  122.                 numbers[i] = numbers[j];
  123.                 numbers[j] = temp;
  124.             }
  125.         }
  126.     }
  127.  
  128.     //print:
  129.     for (int i = 0; i < size; i++)
  130.     {
  131.         cout << "[" << i << "]" << " = " << numbers[i] << endl;
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment