- •1А. Побудова проекту додатка без майстра.
- •1Б. Побудова windows-додаткa за допомогою майстра
- •2. Розробка windows-додатку з діалоговим вікном
- •3.Програмування простих арифметичних виразів
- •Завдання до лабораторної роботи:
- •4.Створення файлів даних
- •Void cMyAppView::OnDraw(cdc* pDc)
- •Використання постійних наборів даних. Серіалізація
- •Void cLab6View::OnChar(uint nChar, uint nRepCnt, uint nFlags)
- •6.Робота з клавіатурою та мишою.
- •Void cLab6View::OnChar(uint nChar, uint nRepCnt, uint nFlags)
- •Void cLab6View::OnDraw(cdc* pDc)
- •Void cCenteredView::OnDraw(cdc* pDc)
- •Void cLab6View::OnDraw(cdc* pDc)
- •Void cLab6View::OnDraw(cdc* pDc)
- •If(!CaretCreated)
- •Void cLab6View::OnKillFocus(cWnd* pNewWnd)
- •Void cLab6View::OnSetFocus(cWnd* pOldWnd)
- •7.Обробка текстових даних.
- •Void cTextView::OnDraw(cdc* pDc)
- •8.Обробка одномірних масивів.
- •Void cMasView::OnDraw(cdc* pDc)
- •Void cMasView::OnDraw(cdc* pDc)
- •Void cMasView::OnDraw(cdc* pDc)
- •Void cMasView::OnDraw(cdc* pDc)
- •9. Обробка двомірних масивів.
- •Void cMasView::OnDraw(cdc* pDc)
- •Void cMasView::OnDraw(cdc* pDc)
- •10. Функції. Перевантаження та шаблони функцій.
- •Додаток1.Пояснення архітектури документ/облік
- •Додаток2.Аналіз коду, створеного майстром у lab4
- •MainFrm.H и MainFrm.Cpp
- •Lab4View.H та lab4View.Cpp
- •Список літератури
Void cMasView::OnDraw(cdc* pDc)
{ CMasDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString s; int mass[10];int L=10,k=20;
for(int i=0;i<10;i++) {mass[i]=i*3;// заповнення масиву
s.Format("%d ",mass[i]);pDC->TextOut(L+k,20,s);k+=20;// друкування масиву
}
Друкування елементів масиву, кратних 3:
Void cMasView::OnDraw(cdc* pDc)
{ CMasDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString s;
int mass[15];int L=10,k=20;
for(int i=0;i<15;i++)
{mass[i]=i*5;
if(mass[i]%3==0){
s.Format("%d ",mass[i]);
pDC->TextOut(L+k,20,s);k+=20;}
}
}
Пошук максимального елемента масиву:
Void cMasView::OnDraw(cdc* pDc)
{ CMasDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString s;int max=0;
int mass[15]={2,5,7,3,1,15,34,23,0,54,33,22,12,23,8};
int L=10,k=20;
for(int i=0;i<15;i++)
{
s.Format("%d ",mass[i]);
pDC->TextOut(L+k,20,s);k+=20;
}
for( i=0;i<15;i++)if(mass[i]>max)max=mass[i];
s.Format("max=%d",max);
pDC->TextOut(20,40,s);
}
Створити масив, куди записати спочатку додатні, потім від’ємні елементи початкового масиву:
Void cMasView::OnDraw(cdc* pDc)
{CMasDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString s;int max=0;
int mass[15]={-2,5,7,3,1,15,-34,23,0,-54,33,22,-12,23,8};
int mass1[15]={15*0};
int L=10,k=40;
for(int i=0;i<15;i++)
{ s.Format("%d ",mass[i]);
pDC->TextOut(L+k,20,s);k+=40;
} int j=0;
for( i=0;i<15;i++)if(mass[i]>=0){mass1[j]=mass[i];j++;}
for(i=0;i<15;i++)if(mass[i]<0){mass1[j]=mass[i];j++;}
k=40;
for(i=0;i<15;i++){
s.Format("%d ",mass1[i]);
pDC->TextOut(L+k,60,s);k+=40;
}}
Завдання до лабораторної роботи.
Написати та відладити текст програми для вирішення завдання за варіантом – 15 балів
Можна не створювати ресурсів - будувати меню та діалогове вікно.
9. Обробка двомірних масивів.
(4 години, 2 заняття)
Варіанти завдань до лабораторної роботи.
Варіант завдання |
Ім’я матриці та її розміри |
Дії |
Умови та обмеження |
1 |
А(10,15) |
Обчислити та запам’ятати суму та кількість додатніх елементів кожного стовпця матриці. Результати видати на екран у вигляді двох рядків |
|
2 |
A(N,M) |
Обчислити та запам’ятати суми та кількість елементів кожного рядка матриці. Результати видати на екран у вигляді двох стовпців |
|
3 |
B(N,N) |
Обчислити суму та кількість додатніх елементів матриці, які розташовані під головною діагоналлю та на ній |
|
4 |
C(N,N) |
Обчислити суму та кількість додатніх елементів матриці, які розташовані над головною діагоналлю |
|
5 |
D(K,K) |
Записати на місце від’ємних елементів матриці нулі та вивести її на екран у загальноприйнятному вигляді |
|
6 |
D(10,10) |
Записати на місце від’ємних елементів матриці нулі, а на місце додатніх - одиниці. Вивести на екран нижню трикутну матрицю у загальноприйнятному вигляді |
немає |
7 |
F(N,M) |
Відшукати у кожному рядку матриці максимальний та мінімальний елементи та помістити їх на місце першого та останнього елементів рядка відповідно. Матрицю вивести на екран у загальноприйнятному вигляді |
|
8 |
F(10,8) |
Транспонувати матрицю та вивести на екран елементи головної діагоналі та діагоналі, розташованої під головною. Результати розташувати у двох рядках. |
немає |
9 |
N(10,10) |
Для цілочислової матриці відшукати для кожного рядка кількість елементів, які є кратними п’яти, та найбільший з одержаних результатів. |
|
10 |
N(10,10) |
З додатніх елементів матриці N створити матрицю М (10,КМАХ), розташовуючи їх в рядках матриці підряд , де КМАХ - максимальна кількість додатніх елементів рядка матриці N. Записати нулі на місце відсутніх елементів. Видати на екран одержану матрицю у загальноприйнятному вигляді |
немає |
11 |
P(N,N) |
Відшукати у кожному рядку найбільший елемент та поміняти його місцями з елементом головної діагоналі. Видати матрицю у загальноприйнятному вигляді. |
|
12 |
R(K,N) |
Відшукати найбільший та найменший елементи матриці та поміняти їх місцями. |
|
13 |
S(25,8) |
Ввести вхідні дані в перші 24 рядки та перші 7 стовпців. Обчислити середнє арифметичне значення елементів кожного рядка та записати у 8-й стовпець, а також середнє арифметичне кожного стовпця та записати його у 25-й рядок. Вивести на екран одержану матрицю у загальноприйнятному вигляді. |
немає |
14 |
T(N,M) |
Відшукати рядок з найбільшою та найменшою сумою елементів. Вивести на екран знайдені рядки та суми їхніх елементів. |
|
15 |
V(15,10) |
Впорядкувати за зростанням елементів кожного рядка матриці. Видати на екран одержану матрицю у загальноприйнятному вигляді. |
немає |
Приклади вирішення завдань
