Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h>
- #include <string.h>
- #include <conio.h>
- int main()
- {
- setlocale(LC_ALL, "Russian");
- char str[512];
- printf("Введите строку: ");
- gets_s(str, 512);
- printf("Введенная строка: ");
- puts(str);
- int spaces = 0;
- for (int i = 0; i < strlen(str); i++) {
- if (str[i] == ' ') {
- spaces++;
- }
- }
- // Создание массива с количеством элементов = количество пробелов + 1. В строке всегда
- // на 1 слово больше, чем пробелов
- char **words = new char*[spaces + 1];
- for (int i = 0; i < spaces + 1; i++) {
- words[i] = new char[32];
- }
- // Запись каждого слова в массив words
- int count = 0;
- int char_counter = 0;
- for (int i = 0; i < strlen(str); i++) {
- if (str[i] != ' ') {
- words[count][char_counter] = str[i];
- char_counter++;
- }
- else {
- words[count][char_counter] = '\0';
- char_counter = 0;
- count++;
- }
- }
- // После окончания цикла последняя строка останется not null terminated. Исправляем
- words[spaces][char_counter] = '\0';
- // Выводим все слова из массива в обратном порядке
- printf("Слова перевертыши: \n");
- for (int i = 0; i < spaces + 1; i++) {
- for (int j = strlen(words[i]); j >= 0; j--) {
- printf("%c", words[i][j]);
- }
- printf("\n");
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement