Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабробС++1к.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

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;

} }}

Завдання до лабораторної роботи.

  1. Написати та відладити текст програми для вирішення завдання за варіантом – 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 на одержане число

Приклади вирішення завдань