много на самом деле. Например самый банальный. Перебираешь массив и проверяешь, если текущий элемент при делении на 2 дает в остатке 0 - значит четное. Значит прибавляешь счетчик (например, переменную a++). Иначе ничего не делаешь. В конце выводишь результат счетчика (a)
За у пользователя количество шагов сдвига и направление. Условиться, что если вводится отрицательное целое, то сдвиг выполняется влево на указанное абсолютное значение, если вводится положительное число, то сдвиг вправо.
Заполнить исходный массив и вывести его на экран.
Выполнять внешний цикл столько раз, сколько шагов было указано.
Если было введено отрицательное число, то выполнить цикл от первого элемента до предпоследнего, перезаписав в нем значение каждой очередной ячейки на значение последующей. Записать в последнюю ячейку 0.
Иначе, выполнить цикл от последнего элемента до второго, записывая в каждую текущую ячейку значение предыдущей. В первую ячейку записать 0.
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand ( time(NULL) );
int arr[10],i,k=0;
//Заполняешь массив
for (i=0;i<sizeof(arr)/sizeof(int);i++)
{
arr[i] = 1+rand()%10;
}
//Перебираешь массив
cout<<"Массив :";
for (int i=0; i<sizeof(arr)/sizeof(int);i++)
{
cout<<" "<<arr[i];
if (arr[i] % 2 == 0)
{
k++;
}
}
cout<<endl<<"Четных :"<<k;
return 0;
}
Объяснение:
много на самом деле. Например самый банальный. Перебираешь массив и проверяешь, если текущий элемент при делении на 2 дает в остатке 0 - значит четное. Значит прибавляешь счетчик (например, переменную a++). Иначе ничего не делаешь. В конце выводишь результат счетчика (a)
Объяснение:
Алгоритм решения данной задачи можно описать так:
За у пользователя количество шагов сдвига и направление. Условиться, что если вводится отрицательное целое, то сдвиг выполняется влево на указанное абсолютное значение, если вводится положительное число, то сдвиг вправо.
Заполнить исходный массив и вывести его на экран.
Выполнять внешний цикл столько раз, сколько шагов было указано.
Если было введено отрицательное число, то выполнить цикл от первого элемента до предпоследнего, перезаписав в нем значение каждой очередной ячейки на значение последующей. Записать в последнюю ячейку 0.
Иначе, выполнить цикл от последнего элемента до второго, записывая в каждую текущую ячейку значение предыдущей. В первую ячейку записать 0.
Вывести на экран текущий массив.
Сдвиг Влево
-4
111 222 333 444 555 666 777 888 999
222 333 444 555 666 777 888 999 0
333 444 555 666 777 888 999 0 0
444 555 666 777 888 999 0 0 0
555 666 777 888 999 0 0 0 0
Сдвиг в Право
5
111 222 333 444 555 666 777 888 999
0 111 222 333 444 555 666 777 888
0 0 111 222 333 444 555 666 777
0 0 0 111 222 333 444 555 666
0 0 0 0 111 222 333 444 555
0 0 0 0 0 111 222 333 444