Массив с сортировкой и выводом количества нулей - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, очень нужен код программы: создать случайный массив целых чисел в дипазоне -100 до 100, размерностью 10, и отсортировать по убыванию. Вывести количество нулевых элементов. Сделавшему - небольшое вознаграждение

Решение задачи: «Массив с сортировкой и выводом количества нулей»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. int main ()
  5. {
  6.     int arr[10];
  7.     int i,j,k=0,t;
  8.  
  9.      srand(time(NULL));
  10.  
  11.     for( i = 0 ; i < 10 ; i++ )
  12.     {
  13.         t = rand() % 2;
  14.         if (t == 1)
  15.             arr[i] = -rand() % 100;
  16.         else
  17.             arr[i] = rand() % 100; 
  18.    }
  19.  
  20.     printf("Our array\n");
  21.     for (i = 0; i < 10; i++)
  22.         printf("%d\n",arr[i]);
  23.  
  24.     for (i = 0; i < 10; i++)
  25.     {
  26.         if (arr[i] == 0)
  27.             k++;
  28.     }
  29.  
  30.      for(i = 0 ; i < 10-1 ; i++)
  31.      {
  32.       for(j = 0 ; j < 10 - i -1 ; j++)
  33.       {  
  34.           if(arr[j] > arr[j+1])
  35.           {          
  36.              int tmp = arr[j]; arr[j] = arr[j+1] ; arr[j+1] = tmp;
  37.           }
  38.        }
  39.    }
  40.     printf("\nSorted Array\n\n");
  41.      for(i = 0; i < 10; i++)
  42.          printf("%d\n",arr[i]);
  43.  
  44.     printf("\nThe numbers of ZEROs:  %d\n\n", k);
  45.  
  46.     return 0;
  47. }

Объяснение кода листинга программы

  1. Объявление переменных:
    • arr[10] - массив из 10 целых чисел;
    • i, j, k=0, t - целочисленные переменные для работы цикла.
  2. Инициализация генератора случайных чисел:
    • srand(time(NULL));
  3. Заполнение массива случайными числами:
    • for( i = 0 ; i < 10 ; i++ ) {
      • t = rand() % 2;
      • if (t == 1)
        • arr[i] = -rand() % 100;
      • else
        • arr[i] = rand() % 100; }
  4. Вывод исходного массива:
    • printf(Our array\n);
    • for (i = 0; i < 10; i++)
      • printf(%d\n,arr[i]);
  5. Подсчет количества нулей в массиве:
    • for (i = 0; i < 10; i++)
      • if (arr[i] == 0)
        • k++;
  6. Сортировка массива:
    • 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; } } }
  7. Вывод отсортированного массива:
    • printf(\nSorted Array\n\n);
    • for(i = 0; i < 10; i++)
      • printf(%d\n,arr[i]);
  8. Вывод количества нулей:
    • printf(\nThe numbers of ZEROs:  %d\n\n, k);
  9. Завершение программы:
    • return 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы