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