Массив с сортировкой и выводом количества нулей - C (СИ)
Формулировка задачи:
Всем привет, очень нужен код программы:
создать случайный массив целых чисел в дипазоне -100 до 100, размерностью 10, и отсортировать по убыванию. Вывести количество нулевых элементов.
Сделавшему - небольшое вознаграждение
Решение задачи: «Массив с сортировкой и выводом количества нулей»
textual
Листинг программы
#include <stdio.h> #include <time.h> int main () { int arr[10]; int i,j,k=0,t; srand(time(NULL)); for( i = 0 ; i < 10 ; i++ ) { t = rand() % 2; if (t == 1) arr[i] = -rand() % 100; else arr[i] = rand() % 100; } printf("Our array\n"); for (i = 0; i < 10; i++) printf("%d\n",arr[i]); for (i = 0; i < 10; i++) { if (arr[i] == 0) k++; } for(i = 0 ; i < 10-1 ; i++) { for(j = 0 ; j < 10 - i -1 ; j++) { if(arr[j] > arr[j+1]) { int tmp = arr[j]; arr[j] = arr[j+1] ; arr[j+1] = tmp; } } } printf("\nSorted Array\n\n"); for(i = 0; i < 10; i++) printf("%d\n",arr[i]); printf("\nThe numbers of ZEROs: %d\n\n", k); return 0; }
Объяснение кода листинга программы
- Объявление переменных:
- arr[10] - массив из 10 целых чисел;
- i, j, k=0, t - целочисленные переменные для работы цикла.
- Инициализация генератора случайных чисел:
- srand(time(NULL));
- Заполнение массива случайными числами:
- for( i = 0 ; i < 10 ; i++ )
{
- t = rand() % 2;
- if (t == 1)
- arr[i] = -rand() % 100;
- else
- arr[i] = rand() % 100; }
- for( i = 0 ; i < 10 ; i++ )
{
- Вывод исходного массива:
- printf(
Our array\n
); - for (i = 0; i < 10; i++)
- printf(
%d\n
,arr[i]);
- printf(
- printf(
- Подсчет количества нулей в массиве:
- for (i = 0; i < 10; i++)
- if (arr[i] == 0)
- k++;
- if (arr[i] == 0)
- for (i = 0; i < 10; i++)
- Сортировка массива:
- for(i = 0 ; i < 10-1 ; i++)
{
- for(j = 0 ; j < 10 - i -1 ; j++)
{
- if(arr[j] > arr[j+1])
{
- int tmp = arr[j]; arr[j] = arr[j+1] ; arr[j+1] = tmp; } } }
- if(arr[j] > arr[j+1])
{
- for(j = 0 ; j < 10 - i -1 ; j++)
{
- for(i = 0 ; i < 10-1 ; i++)
{
- Вывод отсортированного массива:
- printf(
\nSorted Array\n\n
); - for(i = 0; i < 10; i++)
- printf(
%d\n
,arr[i]);
- printf(
- printf(
- Вывод количества нулей:
- printf(
\nThe numbers of ZEROs: %d\n\n
, k);
- printf(
- Завершение программы:
- return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д