Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Имеется массив строк. На том же месте, не заводя других массивов,
- // записать слова в обратном порядке, рассматривая все строки,
- // т.е. первое слово первой строки станет последним словом последней строки
- // (если объединить строки, будет гораздо проще).
- // Стандартных функций работы со строками не использовать
- #include <iostream>
- #include <conio.h>
- // #include <string>
- using namespace std;
- int Mystrlen(char *F);
- char* Mystrcpy(char* B2, char* strf);
- int main() {
- system("chcp 1251");
- system("cls");
- // Массив указателей на строки
- cout << "Ввод текста: \n" << endl;
- char* B[5];
- for (int i = 0; i < 5; i++) {
- B[i] = new char[80];
- }
- char str1[80];
- cout << "Ведите 1-ю строку: ";
- gets(str1); // cin >> str1;
- char str2[80];
- cout << "Ведите 2-ю строку: ";
- gets(str2); // cin >> str2;
- char str3[80];
- cout << "Ведите 3-ю строку: ";
- gets(str3); // cin >> str3;
- char str4[80];
- cout << "Ведите 4-ю строку: ";
- gets(str4); // cin >> str4;
- char str5[80];
- cout << "Ведите 5-ю строку: ";
- gets(str5); // cin >> str5;
- cout << endl;
- Mystrcpy(B[0], str1);
- Mystrcpy(B[1], str2);
- Mystrcpy(B[2], str3);
- Mystrcpy(B[3], str4);
- Mystrcpy(B[4], str5);
- char* temp = B[0];
- B[0] = B[4];
- B[4] = temp;
- char* temp1 = B[1];
- B[1] = B[3];
- B[3] = temp1;
- cout << "Результат: \n";
- for (int i = 0; i < 5; i++) {
- int k = -1;
- for (int j = 1; j < Mystrlen(B[i]); j++) {
- if (B[i][j] == ' ' || j == Mystrlen(B[i]) - 1) {
- k++;
- int z = 0;
- int length;
- if (B[i][j] == ' ')
- length = j - k;
- if (j == Mystrlen(B[i]) - 1)
- length = j - k + 1;
- int what;
- if (length % 2 == 1)
- what = length / 2;
- else
- what = length / 2 - 1;
- for (z = 0; z <= what; z++) {
- char temp;
- temp = B[i][k + z];
- B[i][k + z] = B[i][k - z + length - 1];
- B[i][k - z + length - 1] = temp;
- }
- k = j;
- }
- }
- }
- cout << endl;
- for (int h = 0; h < 5; h++) {
- for (int x = 1; x <= Mystrlen(B[h]); x++) {
- cout << B[h][Mystrlen(B[h]) - x];
- }
- cout << endl;
- }
- getch();
- return 0;
- }
- int Mystrlen(char *F) {
- int res = 0, w = 0;
- while (F[w] != '\0') {
- res++;
- w++;
- }
- return res;
- }
- char* Mystrcpy(char* B2, char* strf) {
- while (*B2++ = *strf++);
- return B2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement