Звіт з лабораторної роботи №2

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування
Група:
ПІ-11

Частина тексту файла (без зображень, графіків і формул):

Міністерство науки і освіти України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій кафедра програмного забезпечення Звіт з лабораторної роботи №2 з дисципліни “Об’єктно-орієнтоване програмування ” Лабораторна робота № 2 "Класові типи. Використання класових типів та управління об'єктами" Завдання Написати програму алгоритмічною мовою С++ згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування оформити у вигляді процедури; обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Розробити два варіанти розв'язку задачі: використовуючи клас двомірного масиву та функції-члени; використовуючи клас одномірного масиву, функції-члени та дружні функції. Впорядкувати елементи рядків матриці за зростанням їх значень методом простої вибірки fi(aij)-середнє арифметичне значення елементів у кожному стовпці під головною діагоналлю матриці; F(fi(aij))-добуток fi(aij) Текст програми //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int const n=3; int st,rjd,mas[n][n]; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Edit1->Text=IntToStr(n); Edit2->Text=IntToStr(n); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Button1->Caption="Створено!"; st=StrToInt(Edit1->Text); rjd=StrToInt(Edit2->Text); StringGrid1->ColCount=st; StringGrid1->RowCount=rjd; StringGrid2->ColCount=st; StringGrid2->RowCount=rjd; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Edit1->Text=IntToStr(n); Edit2->Text=IntToStr(n); for (int i=0;i<st;i++) for (int j=0;j<rjd;j++) StringGrid1->Cells[i][j]=""; st=1; rjd=1; StringGrid1->ColCount=st; StringGrid1->RowCount=rjd; Button1->Caption="Побудувати"; Button4->Caption="Прийняти"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { for (int i=0;i<st;i++) for (int j=0;j<rjd;j++) mas[i][j]=StrToInt(StringGrid1->Cells[j][i]); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { for (int j=0;j<rjd;j++) for(int k=0;k<st;k++) for (int i=0;i<(st-1);i++) if (mas[j][i]>mas[j][i+1]) {int tmp=mas[j][i+1]; mas[j][i+1]=mas[j][i]; mas[j][i]=tmp; }; for (int i=0;i<rjd;i++) for (int j=0;j<st;j++) StringGrid2->Cells[j][i]=mas[i][j]; float sum=0; if (st==rjd) {for(int k=1;k<st;k++) for (int j=0;j<rjd-1;j++) {for (int i=rjd-1;i<st;i++) { sum=sum+mas[0][j]; sum=sum/(st+k-1); }; }; Label5->Caption="Матриця квадратна. Обрахунок виконано. Середнє значення знайдено"; Edit3->Text=sum; } if(st!=rjd) {Label5->Caption="Матриця не квадратна. Обрахунок не можливий"; Edit3->Text="Неможливо!"; }; } //--------------------------------------------------------------------------- Результат роботи  Висновок: Оволодів практичними навиками роботи з масивами .
Антиботан аватар за замовчуванням

31.03.2013 15:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!