- •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
- •Список літератури
7.Обробка текстових даних.
Варіанти завдань до лабораторної роботи.
Приклади
вирішення завдань
Void cTextView::OnDraw(cdc* pDc)
{
CTextDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
dial str;CString s,s1;
if(str.DoModal()==IDOK){
s.Format("string=%s",str.m_string);
pDC->TextOut(10,10,s);
;//обчислення кількості пар символів у рядку
/*int i=0; int n=50,l=0; int m=0
while(str.m_string[i]!='.'){
if((str.m_string[i]==str.m_string[i+2])&&(str.m_string[i+1]==str.m_string[i+3]))
{m++;s1.Format("%c %c",str.m_string[i],str.m_string[i+1] );
pDC->TextOut(10,n+l,s1);l+=20;}
i+=2;}
s.Format("m=%d",m);
pDC->TextOut(10,100,s);*/ //para simvolov
//обчислення балансу дужок
/* if(n==m)s.Format("balans");
if(n!=m) s.Format("no balans");
pDC->TextOut(10,70,s);*/
//видалення лишніх пробілів
/* int k=10,i=0;CString gg=" ";//lishni probili
while(str.m_string[i]!='.'){gg+=str.m_string[i];
if(str.m_string[i]==' '){i++;}
if((d>1)&&(str.m_string[i+1]==' ')){i++;}
i++;}
s.Format("%s",gg);pDC->TextOut(10,100,s);*///lishni probili
//
/* char gol[]={'a','e','u','i','o'};int i=0;int kilg[5]={0,0,0,0,0};int q=0;int max=0;int L=20;//kilkist golos
//максимальна кількість голосних
while(str.m_string[i]!='.')
{switch (str.m_string[i])
{case 'a':{kilg[q]++;break;}
case 'e':{kilg[q]++;break;}
case 'u':{kilg[q]++;break;}
case 'i':{kilg[q]++;break;}
case 'o':{kilg[q]++;break;}
case ' ':{q++;break;}
}
//if(str.m_string[i]!=' ')
//for( j=0;j<5;j++){if((str.m_string[i]!=' ') && (str.m_string[i]==gol[j])) {kilg[q]++;//s.Format("kilg[%d]=%d",q,kilg[q]);pDC->TextOut(10,50+L,s);L+=20;
//}
//if(str.m_string[i]!=' ') {if(kilg[q]>max){max=kilg[q];q++;}}//}//}
i++; }
for (int f=0;f<q;f++)if(kilg[f]>max)max=kilg[f];
s1.Format("max=%d",max);pDC->TextOut(10,200,s1);//kilkist golos*/
//кількість повторень символів у рядку
int i=0,j=0,n=0,L=50,k=20;char c[20]=" ";int r=0;
while(str.m_string[i]!='.')
{ j=i++;
while(str.m_string[j]!='.'){if(str.m_string[i]==str.m_string[j])n++;j++;
if(n>1){c[r]=str.m_string[i];s.Format("%c %d",c[r],n);pDC->TextOut(10,L+k,s);
} }
r++;
for(int e=0;e<20;e++)
if((str.m_string[i]!=c[e])&&(n==1)){s.Format("%c %d",str.m_string[i],n);pDC->TextOut(10,L+k,s);}//}
n=0;
i++;k+=20;
} }}
Завдання до лабораторної роботи.
Написати та відладити текст програми для вирішення завдання за варіантом – 15 балів
8.Обробка одномірних масивів.
Варіанти завдань до лабораторної роботи.
Варіант завдання |
Масив |
Дії |
Умови та обмеження |
|
|
Х(100) |
Обчислити суму та кількість елементів масиву Х |
|
|
|
А(80) |
Обчислити середнє арифметичне значення елементів масиву А |
|
|
|
Х(70) |
Переписати елементи масиву Х в масив Y та підрахувати їхню кількість |
|
|
|
В(50) |
Визначити максимальний елемент масиву В та його порядковий номер |
|
|
|
С(40) |
Обчислити мінімальний елемент масиву С та його номер |
|
|
|
D(80) |
Відшукати максимальний та мінімальний елементи масиву D та поміняти їх місцями |
немає |
|
|
Y(20) |
Обчислити середнє геометричне елементів масиву Y |
|
|
|
Z(30) |
Розташувати в масиві R спочатку додатні, а потім від’ємні елементи масиву Z |
немає |
|
|
N(50) |
Визначити суму елементів масиву N, які є кратними трьом |
|
|
|
Х(N) |
Переписати в масив Y підряд додатні елементи масиву Х |
|
|
|
В(К) |
Визначити максимальний елемент масиву В та його порядковий номер |
|
|
|
С(К) |
Визначити мінімальний елемент масиву С та його порядковий номер |
|
|
|
А(80) |
Помножити вектор на число 5 та обчислити середнє арифметичне значення вектора А (функція mean(V)) |
|
|
|
Х(70) |
Від вектора А відняти число 10, переписати елементи масиву Х в масив Y та підрахувати їхню кількість |
|
|
|
В(50) |
Визначити максимальний елемент масиву В та індекс останнього елемента вектора |
|
|
|
С(40) |
Поділити вектор С на число 3 та обчислити мінімальний елемент масиву С та довжину вектора |
|
|
|
Z(30) |
До вектора Z додати вектор S(20) та знайти суму додатніх та від’ємних елементів масиву Z |
немає |
|
|
N(50) |
Помножити вектор N на число 2 та визначити суму елементів масиву N, які є кратними трьом |
|
|
|
X(N) |
Обчислити суму елементів масиву X, які мають парний індекс та обчислити довжину вектора X |
|
|
|
А(N) |
Обчислити суму непарних елементів масиву та помножити вектор A на одержане число |
|
Приклади вирішення завдань
