profile

Опубликовано 6 лет назад по предмету Информатика от basavchenko3

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

  1. Ответ
    Ответ дан hackworldzip

    Масиви. Частина 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<B[i])

       {

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

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

       }

    if (max<B[i])

    Якщо умова виконується (знайдено інший максимум), тоді нове значення максимуму фіксується у змінних 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<n; i++)

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

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

    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+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; 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<n; i++)

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

Войдите или зарегистрируйтесь, чтобы добавить ответ или свой вопрос на сайт


Другие вопросы
Шалаш
Другие предметы - 1 год назад

Пытался написать сочинение по егэ по русскому не могу понять как,написать хотелось бы пример увидеть по этому тексту. (1)в солнечный день я приехал в старинный посёлок гусь-железный полюбоваться на озеро, искупаться, поплавать в нём. (2)доехал до речки, поднялся на бугор, глянул и... (3)о ужас! (4)нет озера. (5)по широкой впадине, окаймлённой дальней опушкой бывшего прибрежного леса, текла, извиваясь, узкая, местами пересыхающая речушка. (6)и старинной плотины, высокой, кирпичной, с чугунными шлюзами, в тёмных казематах которой, по преданию, разбойная братия чеканила фальшивые деньги, тоже не было. (7)шлюзы, регулировавшие сток, убрали, засыпали – и затянуло озеро тиной да ряской. (8)на месте этом проходила теперь обыкновенная дорожная насыпь; дорога делала крутой поворот, огибала белый двухэтажный барский дом, похожий на длинную казарму, заломанный чахлый парк и снова вырывалась на простор. (9)главный врач детского санатория, размещённого в барском доме, показал мне давние фотографии этого исчезнувшего озера, высокой кирпичной плотины, торговых рядов с доисторическими портиками, он водил по внутренним покоям огромного дома, заново перегороженного, приспособленного для иных надобностей. (10)переделка и ремонт когда-то выполнены были наспех: половицы скрипят и хлябают под ногами, двери перекошены, в оконные рамы задувает свежий ветерок. – (11)сохранилась хоть одна комната от давнего времени? – спросил я. – (12)с полами, дверями и окнами? – (13)полы, двери и прочее – всё порастащили. (14)а вот стены и потолок сохранились в одном месте. (15)идёмте, покажу. (16)он ввёл меня в зал, кажется, в теперешнюю столовую, с белыми строгими пилястрами, с лепным потолком. – (17)полы здесь были, говорят, из наборного паркета, двери из орехового дерева с бронзовой инкрустацией, люстра позолоченная висела. – (18)жалко, – говорю, – что не сохранилось всё это. – (19)о чём жалеть? (20)архитектурной ценности этот дом не имеет, – сказал доктор. (21)я взглянул на него с удивлением. (22)не шутит ли? (23)нет, смотрит прямо в глаза, даже с каким-то вызовом. (24)задиристый хохолок на лысеющем лбу топорщится, как петушиный гребешок. – (25)как не имеет ценности? – говорю. – (26)это ж дом! (27)большой, крепкий, красивый, полный когда-то дорогого убранства. – (28)барские покои, и больше ничего. (29)таких в россии тысячи. – (30)так ведь и народу нашему пригодились бы такие покои. – (31)людям нашим нужны другие ценности. (32)вы ещё храм пожалейте. (33)теперь это модно. – (34)а что, не жаль храма? – (35)и храм цены не имеет. (36)архитектура путаная. (37)специалисты приезжали, говорят – эклектика. (38)потом, правда, всё-таки восстановили храм этот. – (39)и парка не жаль? – (40)парк – природа, и больше ничего. (41)в одном месте убавилось, в другом прибавилось. (42)в любую минуту его насадить можно. (43)мы стояли возле окна, внизу под нами раскинулся обширный посёлок. – (44)смотрите, – говорю, – сколько домов. (45)приличные дома, большинство новых. – (46)здесь живёт в основном торговый люд, кто чем торгует, работы хватает. – (47)вот и хорошо, – говорю. – (48)увеличился посёлок за полвека? – (49)увеличился. – (50)а теперь подумайте вот о чём: раньше, ну хоть ещё в тридцатые годы, здесь меньше жило народу, но успевали не только свои рабочие дела делать. (51)ещё и плотину чинили, озеро в берегах держали и парк обихаживали. (52)а теперь что ж, времени на это не хватает или желания нет? – (53)а это, – говорит, – знакомый мотив. (54)это всё ваше писательское ворчание. (55)что озеро спустили – это вы заметили. (56)что над каждой крышей телевизионная тарелка поставлена – этого вы не замечаете. (57)спорить с ним трудно, почти невозможно: доводы ваши он не слушает, только глаза навострит, тряхнёт головой и чешет без запинки, как будто доклад читает… – (58)есть писатели-патриоты. (59)их книги читают, фильмы по книжкам их смотрят наравне с футболом и хоккеем, потому что яркие, незабываемые образы. (60)а есть писатели-ворчуны, которые всем недовольны. (61)и всё им что-то надо. (62)вот одного такого лечили, а он нас же, медиков, опозорил в своём последнем сочинении. (63)за что, спрашивается? (64)да, не раз вспомянешь в дальней дороге бессмертного писателя земли русской николая васильевича гоголя: «россия такая уж страна – стоит высмеять одного околоточного надзирателя, как вся полиция обидится».