Рандомное заполнение массива [-100:100] - C (СИ)
Формулировка задачи:
Приветы
Нужно заполнить одномерный массив элементами от -100 до 100, задав при этом вначале программы размер этого массива.
Код, в котором это будет реализовано:
#include "stdio.h" #include "malloc.h" int main() { int *mass; int i, n, k = 0; int b[200]; printf("Enter size to massive: "); scanf("%d", &n); mass = (int*)malloc(n*sizeof(int)); for (i = 0; i < n; i++) { printf("a[%d] = ", i); scanf("%d", &*(mass+i)); } for(i=0; i<n; i++) { if(*(mass+i)>=100) { printf("ERORR!\nTRY AGAIN!\n"); return 0; } else if (*(mass+i)<=-100) { printf("ERORR!\nTRY AGAIN!\n"); return 0; } } for (i = 0; i<n; i++){ if (*(mass+i)>0) { *(b+k) = *(mass+i); k++; } } for (i = 0; i<n; i++){ if (*(mass+i) == 0) { *(b+k) = *(mass+i); k++; } } for (i = 0; i<n; i++){ if (*(mass+i)<0) { *(b+k) = *(mass+i); k++; } } for (i = 0; i < n; i++) { printf(" %d ", *(b+i)); } printf("\n"); return 0; };
Решение задачи: «Рандомное заполнение массива [-100:100]»
textual
Листинг программы
srand(time(NULL)); //зерно рандома int i,n; //для цикла scanf("%d",&n); //задаем размер, важно - сделать это перед объявлением самого массива int ar[n]; for(i=0;i<n;i++) //запоняем рандомом ar[i]=rand()%201-100;
Объяснение кода листинга программы
- Инициализация генератора случайных чисел с помощью функции srand(time(NULL));
- Объявление переменных i и n типа int для использования в цикле;
- Получение от пользователя размера массива с помощью функции scanf();
- Объявление массива ar типа int с полученным от пользователя размером;
- Заполнение массива ar случайными числами в диапазоне [-100,100] с помощью цикла for и функции rand()%201-100;
- Возвращение управления в основную программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д