- •Міністерство аграрної політики та продовольства україни житомирський агротехнічний коледж
- •Оглавление
- •Лабораторна робота №1
- •Хід виконання роботи
- •Лабораторна робота №2
- •Хід виконання роботи
- •Лабораторна робота №3
- •Хід виконання роботи
- •Хід виконання роботи
- •Лабораторна робота №5
- •Хід виконання роботи
- •Лістинг програми
- •Лабораторна робота №4
- •Лабораторна робота №7
- •Хід виконання роботи
- •Лабораторна робота №8
- •Хід виконання роботи
- •Лабораторна робота №9
- •Хід виконання роботи
- •Лабораторна робота №10
- •Хід виконання роботи
- •Лабораторна робота №11
- •Хід виконання роботи
Лабораторна робота №11
Тема: одновимірні та багатовимірні масиви, робота з текстовими рядками
Мета роботи: навчитися складати програми обробки лінійних та двовимірних масивів, реалізовувати найпростіші операції з текстовими рядками.
Завдання: оформити кожен пункт завдання вибраного варіанту у вигляді функції. Всі необхідні дані для функцій передаються їм в якості параметрів. Використання глобальних змінних у функціях не допускається.
Хід виконання роботи
Динамічно створив одновимірний масив, що складається з N цілих елементів.
Обчислив мінімальний за модулем елемент масиву.
Обчислив суму модулів елементів масиву, розташованих після першого елемента рівного нулю.
Перетворив масив таким чином, щоб в перій його половинірозташовувались елменти, що стоять на парних позиціях, а в друзій половині – елементи, що стоять в непарних позиціях.
Кожну окрему задачу оформив за допомогою власних функцій.
Прокомпілював програму, виправив помилки.
Запустив програму на виконання.
Лістинг програми:
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
//------------------------------------------------
void peretvoren(int *m1, int N)
{
int x, i=0;
int *m2=new int[N];
for (x=0; x<N; x++)
{if (abs(m1[x])%2==0) {m2[i]=m1[x];i++;}}
for (x=0; x<N; x++)
{if (abs(m1[x])%2==1) {m2[i]=m1[x];i++;}}
for (x=0; x<N; x++)
{m1[x]=m2[x];}
delete m2;
}
//--------------------------------------
void vyvid(int *m1, int N)
{
cout<<"\nMasyv chysel\n\n";
for (int x=0; x<N; x++)
cout<<m1[x]<<"\t";
}
//--------------------------------------
int min_(int *n, int k){
int z;
int minimum=n[0];
for (z=0; z<k; z++){
if (minimum>abs(n[z])) minimum=abs(n[z]);}
return (minimum);}
//--------------------------------------
int sumf(int *n, int k)
{
int x;
int suma=0;
for (x=0; x<k; x++)
{if (n[x]==0)
for(;x<k;x++){suma+=abs(n[x]);}
}
return (suma);}
//--------------------------------------
int main(){
clrscr();
int *m1=new int[100], x, N, z, min, ok;
cout<<"\nVvedit kilkist elementiv N\t";
cin>>N;
for (x=0; x<N; x++){
cout<<"\nVvodymo element\t\n";
cin>>m1[x];
}
vyvid(m1,N);
min=min_(m1,N);
cout<<"\nMinimum by fabs = "<<min<<"\n\n";
ok=sumf(m1,N);
if (ok>0) cout<<"\nSuma moduliv elementiv masuvy, roztashovanyh \npislya pershogo elementa rivnogo nulu = "<<ok<<"\n\n";
else cout<<"\nNema nulia\n\n";
peretvoren(m1,N);
vyvid(m1,N);
delete m1;
system("PAUSE");
return EXIT_SUCCESS;
}
//--------------------------------------
Висновок:
Навчився створювати та оброблювати одновимірні масиви за допомогою динамічного виділення памяті.
