1-1 Программирование С++ / html / modules / 015 / content / example1
.htmlІнформатика — Практика — Практичне заняття Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаОдновимірні масиви : Практичне заняттяЗміст курсу
Вступ
Теорія
Поняття масиву
Практика
Практичне заняття
Лабораторна робота
Поточна перевірка знань
Одновимірні масиви
Висновки
Версія для друку
Практичне заняття Приклад 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