Ответы на вопрос:
масиви. частина 3. приклади розв’язку найпоширеніших з одновимірними масивам
1. знаходження сум та добутків елементів масиву. приклади
приклад 1. задано масив a, що містить 100 цілих чисел. знайти суму елементів цього масиву. фрагмент коду, що розв’язує цю .
// сума елементів масиву a зі 100 цілих чисел
int a[100];
int suma; // змінна, що містить суму
int i; // допоміжна змінна
// ввід масиву a
//
// обчислення суми
suma = 0; // обнулити суму
for (i=0; i< 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; i< 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; i< 50; i++)
if (a[i]> 0)
sum = sum + a[i];
приклад 4. задано масив з 50 цілих чисел. знайти добуток елементів масиву, що є непарними числами.
// добуток непарних елементів масиву
int a[50];
int d; // змінна, що містить добуток
int i; // допоміжна змінна
// ввід масиву
//
// обчислення добутку
d = 1; // початкове встановлення добутку
for (i=0; i< 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; i< 30; i++)
if (max
{
max = b[i]; // запам'ятати максимум
index = i; // запам'ятати позицію максимального елементу
}
if (max
якщо умова виконується (знайдено інший максимум), тоді нове значення максимуму фіксується у змінних max та index.
// ввід масиву
//
// 1. пошук мінімального значення
// встановити мінімум як 1-й елемент масиву
min = a[0];
for (i=1; i< 50; i++)
if (min> a[i])
min = a[i]; // запам'ятати мінімальне значення
// 2. формування масиву
n = 0; // онулити лічильник в масиві indexes
for (i=0; i< 50; i++)
if (min == a[i])
{
n++; // збільшити кількість елементів в indexes
indexes[n-1] = i; // запам'ятати позицію
}
listbox1-> items-> clear();
// 3. вивід масиву indexes в listbox1
for (i=0; i
listbox1-> items-> add(indexes[i].;
⇑
// сортування масиву методом "бульбашки"
int a[10];
int i,j; // допоміжні змінні - лічильники
int t; // допоміжна змінна
// ввід масиву a
//
// сортування
for (i=0; i< 9; i++)
for (j=i; j> =0; j--)
if (a[j]
{
// поміняти місцями 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; i< 50; i++)
if (k==m[i])
{
f_is = true; // число знайдене
break; // вихід з циклу, подальший пошук не має сенсу
}
// вивід результату
if (f_is)
label1-> text = "число " + k.tostring() + " є в масиві m.";
else
label1-> 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; i< 50; i++)
if (k==m[i])
{
// число знайдено
n++;
indexes[n-1] = i;
}
// вивід результату в listbox1
listbox1-> items-> clear();
for (i=0; i
listbox1-> items-> add(indexes[i].;
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
alikalik322.11.2021 18:11
-
SofiDu16.07.2022 20:18
-
milarudneva44919.11.2020 21:12
-
sergeywrest5111.10.2021 08:04
-
galaxykill24.05.2020 04:37
-
Polina21100415.02.2020 19:34
-
olysenko29018.06.2020 22:24
-
romaroma623.12.2021 12:36
-
Гаргульчик26.09.2021 12:01
-
Ангелина11101121.12.2020 21:06
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.