Определить количество элементов и вывести все элементы - C (СИ)
Формулировка задачи:
В начале массива записаны несколько равных между собой элементов. Определить количество таких элементов и вывести все элементы, следующие за последним из них. Рассмотреть возможность того, что весь массив заполнен одинаковыми элементами. Условный оператор не использовать.
Решение задачи: «Определить количество элементов и вывести все элементы»
textual
Листинг программы
#include <stdio.h>
int main(int argc, char* argv[])
{
int Arr[]={1,1,1,2,3,4};
int n,i,k;
n=sizeof(Arr)/sizeof(int);
k=0;
for (i=0; i<n;i++)
k+=(Arr[i]==Arr[0]);
printf("%d\n",k);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявляется массив Arr типа int с пятью элементами: 1, 1, 1, 2, 3, 4.
- Создаются три переменные: n, i, k. Переменная n инициализируется значением, равным количеству элементов в массиве Arr, то есть 5. Переменная i используется как счётчик в цикле. Переменная k инициализируется нулём и используется для подсчёта количества одинаковых элементов в массиве.
- В цикле for перебираются все элементы массива Arr. Для каждого элемента выполняется проверка Arr[i]==Arr[0]. Если это условие истинно, то значение переменной k увеличивается на единицу.
- После завершения цикла выводится значение переменной k, которое равно 4, так как в массиве Arr четыре одинаковых элемента.
- Программа возвращает 0, что означает успешный конец работы.