Strcat() (от слова concatenation — соединение)
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char someText1[64] = "Сайт purecodecpp.com!";
char someText2[] = "Учите С++ c нами!";
cout << "Строка someText1- \"" << someText1 << "\" \n";
cout << "Строка someText2- \"" << someText2 << "\" \n\n";
int count1 = 0; // для индекса ячейки где хранится '\0' первой строки
while (someText1[count1] != 0)
{
count1++; // ищем конец первой строки
}
int count2 = 0; // для прохода по символам второй строки начиная с 0-й ячейки
while (someText2[count2] != 0)
{ // дописываем вконец первой строки символы второй строки
someText1[count1] = someText2[count2];
count1++;
count2++;
}
cout << "Строка someText1 после объединения с someText2 -\n\"" << someText1 << "\" \n\n";
return 0;
}
Strcpy() (от слова copy — копирование)
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char someText1[64] = "Сaйт purecodecpp.com!";
char someText2[] = "Основы С++";
cout << "Строка someText1 - \"" << someText1 << "\" \n";
cout << "Строка someText2 - \"" << someText2 << "\" \n\n";
int count = 0;
while (true) // запускаем бесконечный цикл
{
someText1[count] = someText2[count]; // копируем посимвольно
if (someText2[count] == '\0') // если нашли \0 у второй строки
{
break; // прерываем цикл
}
count++;
}
cout << "Строка someText1 после копирования someText2 -\n\"" << someText1 << "\" \n\n";
return 0;
}
Strcmp() (от слова compare — сравнение)
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char someText1[] = "Сaйт purecodecpp.com!";
char someText2[] = "Сaйт purecodecpp.com/";
cout << "Строка someText1 - \"" << someText1 << "\" \n";
cout << "Строка someText2 - \"" << someText2 << "\" \n\n";
int compare = 0; // для сравнения длины строк
int count = 0;
while (true)
{
if (strlen(someText1) < strlen(someText2))
{
cout << "Строки НЕ равны: " << --compare << endl;
break;
}
else if (strlen(someText1) > strlen(someText2))
{
cout << "Строки НЕ равны: " << ++compare << endl;
break;
}
else // если по количеству символов строки равны
{
if (someText1[count] == someText2[count]) // сравниваем посимвольно включая \0
{
count++;
if (someText1[count] == '\0' && someText2[count] == '\0')
{
cout << "Строки равны: " << compare << endl;
break;
}
}
else // если все же где-то встретится отличный символ
{
cout << "Строки НЕ равны: " << --compare << endl;
break;
}
}
}
return 0;
}
32) Строка как параметр функции в С++. Пример.
33) Алгоритм последовательного поиска в С++.
34) Алгоритм бинарного поиска в С++.
35) М-блочный поиск в С++.
36) Алгоритмы методов вычисления адреса в С++.
37) Выбор в линейных списках в С++.
Пузырьковая сортировка.
Сортировка вставкой.
Сортировка посредством выбора.
41) Алгоритм слияние списков в С++.
Сортировка списков путем слияния.