Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
23.48 Кб
Скачать

Інформатика — Практика — Практичне заняття    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаОдновимірні масиви : Практичне заняттяЗміст курсу

Вступ

Теорія

Поняття масиву

Практика

Практичне заняття

Лабораторна робота

Поточна перевірка знань

Одновимірні масиви

Висновки

Версія для друку

  Практичне заняття Приклад 1. Обробити відомість успішності групи студентів з 25 чоловік по програмуванню, підрахувавши середній бал групи і кількість відмінників. Список оцінок представимо масивом МА[i] (i=0..24), і програма, що реалізує таку задачу, виглядає в такий спосіб.

// Визначення середнього бала групи і кількості відмінників

#include < iostream.h >

#include < math.h >

void main ( )

{

     const int n = 25; // розмірність масиву

     float mas[n]; // опис одновимірного масиву

     int i, k;

     float s = 0 ; // s - змінна для підсумовування оцінок групи

     k = 0 ; // k - змінна для підрахунку кількості відмінників

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

     {

          cout << " mas [ " << i << "] = ";

          cin >> mas [ i ] ;

          cout << mas [ i ] << endl;

          s = s + mas [ i ];

          if ( mas[ i ] = = 5)

          k =k+1;

     }

     cout << "Середній бал = " << s / float(n) << endl;

     cout << "Кількість відмінників =" << endl;

}

     У цій програмі змінна s служить для обчислення суми оцінок групи, а змінна k - для підрахунку кількості відмінників. Перед обчисленням треба задати цим змінним початкове нульове значення. Оператор cout << " mas [ " << i << "] = "; усередині циклу виконує роль підказки про необхідність введення чергової оцінки, а наприкінці використовується для виведення результатів обчислення.

Приклад 2. Обчислити функцію , при 7 різних значеннях х, що вводяться з клавіатури. Введення елементів одновимірного масиву і обчислення функції здійснюється в одному циклі.

#include < iostream.h>

#include < math.h>

void main ( )

{

     const int n =7;

     float mas [ n ];

     int i;

     float a, y ;

     а = 10.5;

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

     {

          cout << "x [ " << i << "] = ";

          cin >> x [ i ] ;

          y = a * x[ i ]*x[ i ] - sin( x[ i ] );

          cout << "При значенні =" << x[і] << " y= " << y << endl;

     }

}

     Оскільки в мові С++ індексація елементів масиву починається з нуля, то масив float x[7] (n =7 ) із семи елементів включає індексовані елементи x[0], x[1], x[2] … x[6] і при цьому x[0] - звернення до першого елемента, x[1] - звернення до другого елемента масиву і т.д. Пропонована програма використовує один цикл - і для введення масиву, і для обчислення функції.

Приклад 3. Пошук елемента масиву максимального значення.

#include<iostream.h>

const int n =6;

void main()

{

     int a[n],i,j;

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

     {

          cout<<"vv"<<i<<'\n';

     cin>>a[i];

     }

     i=0;

     int max=a[0];

     while(i<n)

     {

          if(max<a[i]) max=a[i];

          i++;

     }

     cout<<" max="<<max;

     cin>>j;

}

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

#include<iostream.h>

const int n =20;

void main()

{

     int a[n];

     for(int i=0;i<n;i++)

     {

          cout<<"vv"<<i<<'\n';

          cin>>a[i];

     }

     int min=a[0];

     int max=a[0];

     for(int i=0;i<n-1;i+=2)

     if(a[i]<a[i+1])

     {

          if(min>a[i]) min=a[i];

          if(max<a[i+1]) max=a[i+1];

     }

     else

     {

          if(min>a[i+1]) min=a[i+1];

          if(max<a[i]) max=a[i];

     }

     cout<<" min="<<min<<" max="<<max;

     int j;

     cin>>j;

}.

Приклад 5. Визначити суму значень елементів одномірного масиву.

#include<iostream.h>

const int n =6;

void main()

{

     int a[n],i,s,j;

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

     {

          cout<<"vv"<<i<<'\n';

          cin>>a[i];

     }

     i=0;

     s=0;

     do

     {

          s+=a[i];

          i++;

     } while(i<n);

     cout<<" s="<<s;

     cin>>j;

}

Приклад 6. Визначити добуток значень елементів одномірного масиву.

#include<iostream.h>

const int n =6;

void main()

{

     int a[n],i,p,j;

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

     {

          cout<<"vv"<<i<<'\n';

          cin>>a[i];

     }

     i=0;

     p=1;

     do

     {

          p*=a[i];

          i++;

     } while(i<n);

     cout<<" p="<<p;

     cin>>j;

}

Програма алгоримічною мовою з використанням циклу for має вигляд.

#include<iostream.h>

const int n =6;

void main()

{

     int a[n],i,p,j;

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

     {

          cout<<"vv"<<i<<'\n';

          cin>>a[i];

     }

     p=1;

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

          p*=a[i];

     out<<" p="<<p;

     in>>j;

}

Приклад 7. Обчислити середнє значення додатних елементів масиву. Робота з покажчиком на масив.

#include < iostream.h>

const int n = 5;

int main ( )

{

     nt kol = 0;

     loat mas[n], s = 0;

     loat *pm = mas; // припустимий запис pm=&mas[0]

     or ( int і = 0; і < n; і++)

     {

          ut << "Введіть" << і << "елемент mas" << endl;

          cin >> *pm++;

          cout << mas[i] << endl;

          if (mas[i] > 0)

          {

               s+=mas[i];

               kol++;

          }

     }

     s/= kol;

     cout << "s=" << s << endl;

     return 0;

}

Приклад 8. Програма сортування одновимірного масиву за зменшенням методом вставки з використанням покажчиків.

#include < iostream.h >

#include < conio.h >

void main ( )

{

     int stc, mas [6], i, j;

     int *pmas;

     pmas = mas;

     cout << "Введіть 6 елементів масиву" << endl;

     for ( i = 0; i < 6; i++)

          cin >>*pmas++;

// Наступний оператор знову встановлює покажчик на початок масиву

// (інакше він буде вказувати на наступну за масивом адресу)

     pmas = mas;

     for ( i =1; i < 6; i++)

     {

          stc = *(pmas + i);

          j = i - 1;

          while (( j >= 0) && (stc > *(pmas+j)))

          {

               *(pmas+j+1) = *(pmas+j);

               j - - ;

          }

          *(pmas+j+1) = stc;

     }

     cout << "Результат" << endl;

     for ( i = 0; i < 6; i++)

          cout << i << " елемент " << *(pmas + i ) << endl;

// Можна використовувати і таку конструкцію оператора

// cout << i << " елемент " << * pmas++ << endl;

     getch ( ); // Для затримки екрана виведення результату

     return 0;

}

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content