Сформировать вектор из элементов массива - C (СИ)
Формулировка задачи:
Дано одномерный массив В, состоящий из 15 элементов. Сформировать вектор А, первым элементом которого является наименьшее число, а следующие элементы вектора А - числа, которые находятся за наименьшим элементом массива В.
Решение задачи: «Сформировать вектор из элементов массива»
textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
#include<time.h>
#define n 15
int main()
{
unsigned int i,k;
int min=INT_MAX;
int a[n],b[n];
system("chcp 1251 >> nul");
srand((unsigned int)time(0));
puts("Исходный массив B имеет вид:");
for (i=0;i<n;++i) {
b[i]=rand()%100-25;
printf("%d ",b[i]);
if (b[i]<min) {
min=b[i];
k=i;
}
}
printf("\nМинимальный элемент массива B = %d\n",min);
puts("\nВектор А имеет вид:");
for (i=k;i<n;++i) {
a[i]=b[i];
printf("%d ",a[i]);
}
puts("\n");
system("pause");
return 0;
}
Объяснение кода листинга программы
В этом коде происходит следующее:
- Связывание необходимых библиотек и определение размера массива n
- Инициализация переменных
- Переменная
iинициализируется как 0. - Переменная
kинициализируется как 0. - Переменная
minинициализируется какINT_MAX, что является максимальным значением для целых чисел в языке C. - Переменная
aинициализируется как массив размеромn. - Переменная
bинициализируется как маатр размеромn.
- Переменная
- Инициализация массива b случайными значениями
- Поиск минимального элемента в массиве b и его сохранение в переменной min и переменной k
- Инициализация массива a значениями из массива b, начиная с позиции k
- Вывод массива a на экран
- Ожидание нажатия клавиши для выхода из программы
- Возврат 0, что означает успешное завершение программы