Хелпикс

Главная

Контакты

Случайная статья





Задание 4.1. Поиск в строке по критерию



Задание 4.1. Поиск в строке по критерию

10.Индивидуальное заданиеДана последовательность символов, заканчивающаяся символом '+'. Определить и вывести на экран номера символов, имеющих наибольший и наименьший номер.

Код программы:

#include <iostream>

#include <string>

using namespace std;

int main()

{

       system("chcp 1251");

       //int i = 0;

       string s;

       char f;

       int a=NULL, b=NULL;

       getline(cin,s,'+');

       cout <<"Вы ввели\t"<< s<<"\n";

       cout << "Символы\n";

       for (int i = 0; i < s.length(); i++)

       {

           

                   f = s[i];

                   if (a == NULL && b == NULL) { a = (int)f; b = (int)f; }

                   if (a > (int)f) a = (int)f;

                   if (b < (int)f) b = (int)f;

                   cout <<f << "\t"<<(int)f<<"\n" ;

                                  

       }

       cout << "Наименьшее \t" << (char)b<<"\t"<<b<<"\n";

       cout << "Наибольшее\t" << (char)a<<"\t"<<a << "\n";

}

Контрольный пример:

Задание 4.2. Поиск и замена в строках

10.Индивидуальное заданиеВо введённой строке все вхождения '123' заменить на '45'.

Код программы:

#include <iostream>

#include <string>

using namespace std;

int main()

{

system("chcp 1251");

string s;

string f = "123";

getline(cin, s);

int r=0;

for (int i = 0; i < s.length(); i=i+ f.length())

{

   if (s.find(f,i)) r = r + 1;

}

cout <<"Кол во вхождений\t"<< r<<"\n";

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

{

   s.replace(s.find("123"), 3, "45");

}

cout<<"Ответ\t" << s;

 

}

Контрольный пример:

Задание 4.3. Стандартные процедуры и функции работы со строками

10.Индивидуальное задание

В предложении, состоящем из слов, разделенных одним пробелом, заменить первую букву у слов, следующих за словами die, der, das, на прописную.

Код программы:

#include <iostream>

#include <string>

using namespace std;

//die, der, das

int main()

{

       system("chcp 1251");

       char f[] = "qwertyuiopasdfghjklzxcvbnm";

       char f1[] = "QWERTYUIOPASDFGHJKLZXCVBNM";

string s;

           

getline(cin, s);

           

       for (int i = 0; i < s.length()-3; i++)

       {

                   if (s[i] == 'd' && s[i + 1] == 'i' && s[i + 2] == 'e')

                              for (int j = 0; j < strlen(f); j++)

                   {

                              if (s[i + 4] == f[j]) s[i+4]=f1[j];

 

                   }

 

 

                   if (s[i] == 'd' && s[i + 1] == 'e' && s[i + 2] == 'r')

                              for (int j = 0; j < strlen(f); j++)

                              {

                                          if (s[i + 4] == f[j]) s[i + 4] = f1[j];

 

                              }

 

                   if (s[i] == 'd' && s[i + 1] == 'a' && s[i + 2] == 's')

                              for (int j = 0; j < strlen(f); j++)

                              {

                                          if (s[i + 4] == f[j]) s[i + 4] = f1[j];

 

                              }

 

 

       }

       cout << "Ответ\t" << s;

}

Контрольный пример:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.