Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
профорг поясняет.doc
Скачиваний:
4
Добавлен:
14.08.2019
Размер:
752.13 Кб
Скачать
    1. Результат работы программы

Рис. 6 Результат работы программы 5

  1. Лабораторная работа №6 «Строки»

    1. Постановка задачи

Напечатать все слова-палиндромы, которые есть в строке.

    1. Программа решения задачи

#include <iostream.h>

#include <conio.h>

#include <math.h>

#include <windows.h>

#include <string.h>

#include <vcl.h>

/*

10.Напечатать все слова-палиндромы, которые есть в этой строке

*/

char buffer[256];

char* Rus(const char* text)

{

CharToOem(text, buffer);

return buffer;

}

void palindrom(char*);//функция, ищущая слова-палиндромы в строке.

int main(int argc, char* argv[])

{

char rez[256];

cout << Rus("Введите строку: ");

gets (rez);

cout << Rus("Слова-палиндромы: ") << endl;

palindrom(rez); //вызываем функцию

getch();

return 0;

}

//функция, ищущая и выводящая слова-палиндромы в строке

void palindrom(char *rez)

{

int l = strlen(rez);//вычисляем длину строки

int curstart=0;//текущее начало строки

for (int i=0;i<l;i++)

{

if ((rez[i]==32) || (rez[i]==46)) //если символ - пробел или точка

{

bool b=1; //изначально принимаем слово за палиндром

int curlen=i-curstart;//длина текущего слова

int n=i-1;//проверяемая буква справа

int nstart=curstart; //проверяемая буква слева

for (int z=0; z<curlen/2; z++)

{

if ( rez[nstart] != rez[n] )//если соотв.буквы не равны

{

b=0; //слово не палиндром

z=curlen/2; //ставим счетчик так, чтобы выйти из цикла

}

nstart++; //проверяемая буква слева

n--; //проверяемая буква справа

}

curstart=i+1; //начало текущего слова сдвигаем

if(b) //если слово - палиндром

{

int k=i-curlen; //ставим переменную на начало этого слова

for (k;k<i;k++)

cout << rez[k]; //выводим это слово

cout<<endl;

}

}

}

}

    1. Результат работы программы

Рис. 7 Результат работы программы 6

  1. Лабораторная работа №7.1 «Перегрузка функций в Си++»

    1. Постановка задачи

Написать перегруженные функции и основную программу, которая их вызывает.

а) для вычитания десятичных дробей;

б) для вычитания обыкновенных дробей.