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