Тема: Робота з одновимірними числовими масивами
Розробити схему алгоритму та написати програму , яка дозволяє заповнити масив Arr[15] за вибором користувача ( вручну з консолі або програмно) та виконує з ним дію відповідно до варіанта завдання:
Завдання:
пошук мінімального з усіх непарних значень елементів масиву і вивід його на консоль
Приклад виконання завдання :
Розробити та написати програму, яка дозволяє заповнити масив Arr[15] за вибором користувача (вручну з консолі або автоматично) та виконує розрахунок суми значень добутку всіх пар елементів массиву, симетричних щодо центру.
Програмний код:
#include <stdio.h> //підключення бібліотеки вводу/виводу
void main() //оголошення та визначення головної функції
{ //оголошення цілого масиву з 15 елементів
int Arr[15];
char c; //оголошення змінної вибору методу заповнення
bool b = 0; //оголошення та визначення прапорця правильного вибору
int k, i; //оголошення змінних лічильників індексів масиву
int Sum = 0; //оголошення та визначення змінної для розрахунку суми
while (b == 0) //цикл, доки не буде обрано правильний метод заповнення
{
printf("Method for the arrey filling: "); //вивід константного рядка
printf("1 – manual; 2 – auto\r\n"); //вивід константного рядка
scanf("%c", &c); //отримання символа від користувача
switch (c) //перевірка введеного символа
{ //якщо було введено символ '1'
case '1':
b = 1; //встановити прапорець
printf("\r\n"); //перехід на новий рядок
//цикл заповнення масиву значеннями, що вводяться з консолі
for (k = 0; k <= 14; k++) {
//запит значення поточного елементу
printf("Arr[%i]=", k);
//отримання введеного значення
scanf("%i", &Arr[k]);
}
break; //якщо було введено символ '2'
case '2':
b = 1; //встановити прапор
//цикл заповнення масиву значеннями від 0 до 14
for (k = 0; k <= 14; k++) { //визначення елемента масиву
Arr[k] = k;
} //вихід з оператора
break;
default: //якщо було введено інший символ
//вивід повідомлення користувачеві
printf("You enter wrong symbol!\r\n\r\n");
}
} //перехід на новий рядок
printf("\r\n");
printf("Massiv Arr[15]={"); //вивід константного рядка
for (i = 0; i <= 14; i++) //цикл виводу значень заповненого масиву
if (i != 14) //якщо елемент неостанній
printf("%i,", Arr[i]); //вивід значення неостаннього елемента
else //якщо елемент останній
printf("%i", Arr[i]); //вивід значення останнього елемента
printf("}\r\n"); //вивід константного рядка
//цикл перебору половини елементів масиву для розрахунку суми добутків for(i=0; i<15/2; i++)
{
//додавання до змінної Sum добутку симетричних відносно центра значень
Sum += Arr[i] * Arr[14 - i];
} //вивід результату
printf("\r\nCalculation result: %i\r\n\r\n", Sum);
}
Результат роботи програми при ручному заповненні масиву буде наступним:
Method for the arrey filling: 1 - manual; 2 - auto
1
Arr[0]=1
Arr[1]=7
Arr[2]=3
Arr[3]=4
Arr[4]=9
Arr[5]=34
Arr[6]=10
Arr[7]=-5
Arr[8]=0
Arr[9]=12
Arr[10]=16
Arr[11]=-2
Arr[12]=6
Arr[13]=13
Arr[14]=2
Massiv Arr[15]={1,7,3,4,9,34,10,-5,0,12,16,-2,6,13,}
Calculation result: 655
Моє завдання Завдання:
пошук мінімального з усіх непарних значень елементів масиву і вивід його на консоль