Обчислить массиви a) з трьох дйсних чисел б) з 10 знакв

Обчислить массиви a) з трьох дйсних чисел б) з 10 знакв

Задать свой вопрос
1 ответ

Масиви. Частина 3. Приклади розвязку найпоширенших задач з одновимрними масивам

1. Знаходження сум та добуткв елементв масиву. Приклади

Приклад 1. Задано масив A, що мстить 100 цлих чисел. Знайти суму елементв цього масиву. Кусок коду, що розвязу цю задачку.

// сума елементв масиву A з 100 цлих чисел

int A[100];

int suma; // змнна, що мстить суму

int i; // допомжна змнна

// ввд масиву A

// ...

// Обчислення суми

suma = 0; // обнулити суму

for (i=0; ilt;100; i++)

   suma += A[i];

Перебр усх елементв масиву виконуться в цикл for. Змнна sum зберга результуюче значення суми елементв масиву. Змнна i лчильником, який визнача ндекс елементу масиву A[i].

Приклад 2. Задано масив B, що мстить 20 дйсних чисел. Знайти суму елементв масиву, що лежать на парних позицях. Вважати, що позиц 0, 2, 4 т.д. парними.

// сума елементв масиву B

// що лежать на парних позицях

float B[20];

float sum; // змнна, що мстить суму

int i; // допомжна змнна

// ввд масиву

// ...

// Обчислення суми

sum = 0; // обнулити суму

for (i=0; ilt;20; i++)

   if ((i%2)==0)

       sum += B[i];

У цьому приклад вираз

(i%2)==0

визнача парну позицю (парний ндекс) масиву B. Якщо потрбно взяти непарн позиц, то потрбно написати

(i%2)==1

Приклад 3. Задано масив, що мстить 50 цлих чисел. Знайти суму додатнх елементв масиву.

// сума додатнх елементв масиву

int A[50];

int sum; // змнна, що мстить суму

int i; // допомжна змнна

// ввд масиву

// ...

// Обчислення суми

sum = 0; // обнулити суму

for (i=0; ilt;50; i++)

   if (A[i]gt;0)

       sum = sum + A[i];

Приклад 4. Задано масив з 50 цлих чисел. Знайти добуток елементв масиву, що непарними числами.

// добуток непарних елементв масиву

int A[50];

int d; // змнна, що мстить добуток

int i; // допомжна змнна

// ввд масиву

// ...

// Обчислення добутку

d = 1; // початкове встановлення добутку

for (i=0; ilt;50; i++)

   if ((A[i]%2)==1)

       d = d * A[i];

Щоб визначити, чи елемент масиву A[i] непарним, потрбно переврити умову

(A[i]%2)==1

Якщо умова виконуться, то елемент масиву непарне число.

// пошук позиц (ндексу), що мстить максимальне значення

float B[30];

float max; // змнна, що мстить максимум

int index; // позиця елементу, що мстить максимальне значення

int i; // допомжна змнна

// ввд масиву

// ...

// пошук максимуму

// встановити максимум як 1-й елемент масиву

index = 0;

max = B[0];

for (i=1; ilt;30; i++)

   if (maxlt;B[i])

   

       max = B[i]; // запам'ятати максимум

       index = i; // запам'ятати позицю наибольшего елементу

   

if (maxlt;B[i])

Якщо умова виконуться (знайдено нший максимум), тод нове значення максимуму фксуться у змнних max та index.

// ввд масиву

// ...

// 1. Пошук мнмального значення

// встановити мнмум як 1-й елемент масиву

min = A[0];

for (i=1; ilt;50; i++)

   if (mingt;A[i])

       min = A[i]; // запам'ятати мнмальне значення

// 2. Формування масиву

n = 0; // онулити лчильник в масив INDEXES

for (i=0; ilt;50; i++)

   if (min == A[i])

       

           n++; // збльшити кльксть елементв в INDEXES

           INDEXES[n-1] = i; // запам'ятати позицю

       

listBox1-gt;Items-gt;Clear();

// 3. Вивд масиву INDEXES в listBox1

for (i=0; ilt;n; i++)

   listBox1-gt;Items-gt;Add(INDEXES[i].ToString());

// сортування масиву способом "бульбашки"

int A[10];

int i,j; // допомжн змнн - лчильники

int t; // допомжна змнна

// ввд масиву A

// ...

// сортування

for (i=0; ilt;9; i++)

   for (j=i; jgt;=0; j--)

       if (A[j]lt;A[j+1])

       

           // помняти мсцями A[j] та A[j+1]

           t = A[j];

           A[j] = A[j+1];

           A[j+1] = t;

       

4. Пошук елементу в масив. Приклади

Приклад 1. Визначити, чи знаходиться число k в масив M з 50 цлих чисел.

// визначення наявност заданого числа в масив чисел

int M[50];

int i;

int k; // шукане значення

bool f_is; // результат пошуку, true - число k в масив, накше false

// ввд масиву M

// ...

// ввд числа k

// ...

// пошук числа в масив

f_is = false;

for (i=0; ilt;50; i++)

   if (k==M[i])

       

           f_is = true; // число знайдене

           break; // вихд з циклу, подальший пошук не ма сенсу

       

// вивд результату

if (f_is)

   label1-gt;Text = "Число " + k.ToString() + " в масив M.";

else

   label1-gt;Text = "Числа " + k.ToString() + " нема в масив M.";

Приклад 2. Знайти вс позиц входження числа k в масив M з 50 цлих чисел.

// визначення всх позицй заданого числа в масив чисел

int M[50]; // масив чисел

int i; // допомжна змнна

int k; // шукане значення

int INDEXES[50]; // шуканий масив позицй входження числа k

int n; // кльксть знайдених позицй або кльксть елементв в масив INDEXES

// ввд масиву M

// ...

// ввд числа k

// ...

// пошук числа k в масив M одночасне формування масиву INDEXES

n = 0;

for (i=0; ilt;50; i++)

   if (k==M[i])

   

       // число знайдено

       n++;

       INDEXES[n-1] = i;

   

// вивд результату в listBox1

listBox1-gt;Items-gt;Clear();

for (i=0; ilt;n; i++)

   listBox1-gt;Items-gt;Add(INDEXES[i].ToString());

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт