Выяснить, есть ли среди элементов массива простые числа (объяснить работу кода) - C (СИ)

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

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

Задан целочисленный массив размерностью N. Есть ли среди элементов массива простые числа? Если да, то вывести номера этих элемент
Листинг программы
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. int simple(int x)
  5. {
  6. int i;
  7. for(i=2;i<=x/2;i++)
  8. if((x%i)==0)
  9. return 0;
  10. return 1;
  11. }
  12. int main()
  13. {
  14. srand(time(NULL));
  15. int i,size;
  16. printf("Enter array size: ");
  17. scanf("%d",&size);
  18. int arr[size];
  19. //fill array!
  20. for(i=0;i<size;i++)
  21. {
  22. arr[i] = rand()%100+1;
  23. if(simple(arr[i]))
  24. printf("%d ",arr[i]);
  25. }
  26. printf("\n");
  27. return 0;
  28. }

Решение задачи: «Выяснить, есть ли среди элементов массива простые числа (объяснить работу кода)»

textual
Листинг программы
  1. size_t arraySize;
  2. scanf("%lu", &arraySize);
  3. /* много строк кода */
  4. int * arrayPtr = malloc(sizeof(int) * arraySize);

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

  1. Вводится размер массива с помощью функции scanf, сохраняется в переменную типа size_t с именем arraySize.
  2. С помощью функции malloc выделяется память под массив указанного размера, адрес памяти сохраняется в переменной типа int* с именем arrayPtr.
  3. Далее в цикле for происходит итерация по всем элементам массива от 0 до arraySize-1.
  4. Внутри цикла проверяется, является ли текущий элемент массива простым числом.
  5. Если текущий элемент массива является простым числом, то его значение сохраняется в отдельную переменную, например, primeNumber.
  6. После окончания цикла все выделенное памяти освобождается с помощью функции free(arrayPtr).

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


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

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

7   голосов , оценка 3.857 из 5

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

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

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