Массив с сортировкой и выводом количества нулей - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д