|
|||
Задание 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; } Контрольный пример:
|
|||
|