Напишите программу, которая в последовательности целых чисел определяет
количество трёхзначных чисел, кратных 3. Программа получает на вход количество
чисел в последовательности, а затем сами числа. Программа должна вывести одно
число: количество трёхзначных чисел, кратных 3.
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter N: ";
int N;
cin >> N;
int * A = new int[N];
srand(time(0));
for (int i = 0; i < N; ++i)
A[i] = rand() % N + 1;
for (int i = 0; i < N; ++i)
cout << setw(4) << A[i];
cout << "\nEnter K: ";
int K;
cin >> K;
int SIZE = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
++SIZE;
if (SIZE > 0)
{
int * A1 = new int[SIZE];
int i1 = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
{
A1[i1] = A[i];
++i1;
}
for (int i1 = 0; i1 < SIZE; ++i1)
cout << setw(4) << A1[i1];
delete[] A1;
}
else
cout << "No elements" << endl;
delete[] A;
cout << endl;
return 0;
}
const n = 10;
var a:array[1..n] of integer;
i,j:integer;
begin
// Заполним массив сл. числами
for i:=1 to n do begin
a[i]:=random(0,99); write(a[i]:4);
end;
writeln;
//сортировка массива по убыванию последней цифры.
for i := 1 to n-1 do
for j := 1 to n-i do
if (a[j] mod 10) > (a[j+1]mod 10) then
swap(a[j],a[j+1]);
writeln('Отсортированный массив : ');
for i:=1 to n do write(a[i]:4);
end.
Тестовое решение:
14 60 69 6 10 77 66 67 44 84
Отсортированный массив :
60 10 14 44 84 6 66 77 67 69