Advertisement
Ansaid

Удалить числа, которые в 16 сс имеют буквы

Dec 23rd, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. /*Удалить из массива все числа, которые в 16ричной записи имеют буквы*/
  2. #include <iostream>
  3. #include "locale.h"
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     setlocale(LC_ALL, "RUS");
  10.     int N;
  11.     cout << "N = ";
  12.     cin >> N;
  13.     int* A = new int[N];
  14.     cout << "Введите элементы массива:\n";
  15.     for (int i = 0; i < N; i++)
  16.     {
  17.         cin >> A[i];
  18.         cout << A[i] << endl;
  19.     }
  20.  
  21.     int i = 0;
  22.     int c;
  23.     int dublikat;
  24.     for(int j = 0; j < N; j++)
  25.     {
  26.         if(A[j] < 16 && A[j] > 9)
  27.             A[j] = -1;
  28.     }
  29.     while(A[i] >= 16)
  30.     {
  31.         dublikat = A[i];
  32.         c = A[i] % 16;
  33.         A[i] = A[i] / 16;
  34.         if(c > 9 && c < 16)
  35.             A[i] = -1;
  36.         if(A[i] > 0)
  37.             A[i] = dublikat;
  38.         i++;
  39.     }
  40.     int k = 0;
  41.     cout << "Вывод элементов массива:\n";
  42.     for (int i = 0; i < N; i++)
  43.     {
  44.         if(A[i] > 0)
  45.         {
  46.             cout << A[i] << endl;
  47.             k++;
  48.         }
  49.     }
  50.     if(k == 0)
  51.          cout << "Все элементы массива имеют буквы в 16ричной записи";
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement