Определить позиции массива, в которых расположены нулевые элементы и сосчитать их количество - C (СИ)
Формулировка задачи:
Задан одномерный массив B, состоящем из n вещественных элементов. Определить позиции массива, в которых расположены нулевые элементы и сосчитать их количество.
Решение задачи: «Определить позиции массива, в которых расположены нулевые элементы и сосчитать их количество»
textual
Листинг программы
#include<conio.h>
#include<stdio.h>
#include<locale.h>
#include<time.h>
#define n 25//размер массива
main()
{
srand(time(NULL));//инициализация генератора случайных чисел
setlocale(LC_ALL,"Russian");//строчка необходимая для того чтобы в консоли был русский язык
int B[n],i,k=0,H[n];//H[n]-массив в котором хранятся позиции нулей
for(i=0;i<n;i++)
{
B[i]=rand()%15;//заполнение массива рандомными числами
if(B[i]==0){k++;H[k]=i;}
}
printf("Массив:\n");
for(i=0;i<n;i++)
{
printf("%3d",B[i]);
}
printf("\nКоличество нулей:%d\nПозиции нулей:\n",k);
for(i=1;i<k+1;i++)
{
printf("%3d",H[i]+1);
}
getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью, временем и языком.
- Объявление размера массива в 25 элементов и инициализация генератора случайных чисел.
- Установка русской локали для вывода информации в консоль.
- Объявление двух массивов: B[n] для хранения случайных чисел и H[n] для хранения позиций нулей.
- Заполнение массива B[n] случайными числами от 0 до 14 с помощью функции rand().
- Поиск и подсчет нулевых элементов в массиве B[n]. Если элемент равен нулю, то его позиция сохраняется в массиве H[n].
- Вывод массива B[n] на экран.
- Вывод количества нулей в массиве B[n].
- Вывод позиций нулей в массиве H[n] с добавлением единицы, так как в C индексация массивов начинается с 0.
- Ожидание нажатия клавиши для завершения программы.