Дан массив размерности n. Заполнить массив случайными числами в диапазоне [-100;100]. Перевернуть массив: - C (СИ)
Формулировка задачи:
Дан массив размерности n. Заполнить массив случайными числами в диапазоне
[-100;100]. Перевернуть массив: a[n-1]↔a[0], a[n-2]↔a[1] и т.д. Для работы с массивом использовать функцию.
пример программы
// Обнулить в массиве отрицательные элементы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
void func(int *a, int n)
{
for (int i = 0; i < n; i++)
if (a[i] < 0) a[i] = 0;
}
int main()
{
int *a;
int n;
srand(time(NULL));
printf("n= ");
scanf("%d", &n);
a = (int*)malloc(n*sizeof(int));
for (int i = 0; i<n; i++)
a[i] = rand() % 201 -100; // заполнение массива случайными числами
for (int i = 0; i<n; i++)
printf("%3d ", a[i]);
func(a, n);
printf("\n");
for (int i = 0; i<n; i++)
printf("%3d ", a[i]);
getchar(); getchar();
return 0;
}Решение задачи: «Дан массив размерности n. Заполнить массив случайными числами в диапазоне [-100;100]. Перевернуть массив:»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int sort(int *mas,int N)
{
int temp;
for(int i = 0; i < N/2; i++)
{
temp = mas[N - 1 - i];
mas[N - 1 - i] = mas[i];
mas[i] = temp;
}
return 0;
}
int main()
{
srand( (unsigned int) time(NULL));
int *mas, N;
printf("Number of elements - ");
scanf("%d",&N);
mas = (int *)malloc(N*sizeof(int));
for(int i = 0; i < N; i++)
mas[i] = rand() % 201 - 100;
printf("Before: ");
for(int i = 0; i < N; i++)
printf("%d ",mas[i]);
sort(mas,N);
printf("\nAfter: ");
for(int i = 0; i < N; i++)
printf("%d ",mas[i]);
}
Объяснение кода листинга программы
- #include
- подключает файл стандартного ввода/вывода - #include
- подключает файл времени - #include
- подключает файл стандартных библиотек - *int sort(int mas,int N)** - функция сортировки массива по возрастанию
- int main() - функция-точка входа в программу
- srand( (unsigned int) time(NULL)); - инициализация генератора случайных чисел
- *int mas, N;** - объявление переменных
- printf(
Number of elements -); - вывод сообщения с просьбой ввести количество элементов - scanf(
%d,&N); - ввод количества элементов - mas = (int )malloc(Nsizeof(int)); - выделение памяти под массив
- for(int i = 0; i < N; i++) - цикл заполнения массива случайными числами
- mas[i] = rand() % 201 - 100; - генерация случайного числа в диапазоне [-100;100]
- printf(
Before:); - вывод сообщенияДо - for(int i = 0; i < N; i++) - цикл вывода элементов массива
- printf(
%d,mas[i]); - вывод элемента массива с пробелом - sort(mas,N); - вызов функции сортировки
- printf(
\nAfter:); - вывод сообщенияПосле - for(int i = 0; i < N; i++) - цикл вывода элементов массива
- printf(
%d,mas[i]); - вывод элемента массива с пробелом - return 0; - завершение программы