Вот такая вот задачка:) - C (СИ)

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

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

1) Дан массив, состоящий из 20 целых чисел. Вывести все числа, которые встречаются в этом массиве несколько раз. 2)Заполнить файл F целыми числами, полученными с помощью генератора случайных чисел. Найти сумму минимального и максимального элементов этого файла.

Решение задачи: «Вот такая вот задачка:)»

textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 20
 
int main()
{
   int i, j, a[N], min, max, *count, m;
   srand(time(NULL));
   for(i = 0; i < N; i++)
      printf("%3d", a[i] = rand() % 10);
   putchar('\n');    
   for(i = 0, min = max = a[0]; i < N; i++)
      if (a[i] < min) min = a[i];
      else if (a[i] > max) max = a[i];
   m = max - min + 1;
   count = (int *)calloc(m, sizeof(*count));
   for(i = 0; i < N; i++)
      ++count[a[i] - min];
   for(i = 0; i < m; i++)
      if (count[i] > 1)
         printf("%3d", i + min);            
   return 0;                
}

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

В этом коде выполняется следующее:

  1. Объявляются переменные:
    • i, j - для циклов;
    • a[N] - массив, заполняемый случайными числами от 0 до 9;
    • min, max - для хранения минимального и максимального значений в массиве;
    • count - для подсчёта количества каждого числа в массиве;
    • m - для хранения размера массива count.
  2. Инициализируются начальные значения:
    • min и max устанавливаются равными первому элементу массива a[0], который инициализируется случайным числом;
    • m вычисляется как max - min + 1.
  3. Динамически выделяется память под массив count с помощью функции calloc(m, sizeof(*count)).
  4. Заполняются переменные min и max и массив count.
  5. Выводятся на экран все числа, встречающиеся в массиве a более одного раза, сдвинутые влево на min.
  6. Программа возвращает 0, завершая свою работу.

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


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

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

8   голосов , оценка 4 из 5
Похожие ответы