1

(1 відповідей, залишених у C++)

Приклад виконання завдання:

Дано натуральне число n та масив дійсних чисел a1, a2, …, an. Знайти серед членів масиву таке число (і його індекс), якомога наближене до середнього арифметичного усіх елементів масиву.


Розв’язок:

/* 01.2 */
#include <stdio.h>
#include <math.h>
#define MAX 100 main()
{
float a[MAX],x,y,s=0;
 unsigned int i,n,k;
 printf("n="); scanf("%i",&n); for(i=0;i<n;i++)
{
printf("a[%i]=",i); scanf("%f",&a[ i ]); s+=a[ i ];
}
x=fabs(a[0]–s/n); y=a[0];
k=0;
for(i=1;i<n;i++) 
 if(x=(fabs(a[ i ]–s/n)<x))
{
y=a[ i ]; k=i;
}
printf("Result:%–7.2f\n",s/n); printf("a[%i]=%–7.2f",k,y);
return 0;
}

Результати роботи:

n=5
a[0]=1.2
a[1]=3.5
a[2]=4.1
a[3]=6.8
a[4]=7.9
Result: 4.70
a[2]=4.10

Моє завдання:
Розмір  масиву: 17
Тип  даних: цілий
Завдання: обчислити факторіал індексу максимального елемента.

2

(2 відповідей, залишених у C++)

Розробити схему алгоритму та написати програму , яка дозволяє заповнити масив 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

Моє завдання Завдання:
пошук мінімального з усіх непарних значень елементів масиву і вивід його на консоль