Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
IgorVelikiy
0 / 0 / 0
Регистрация: 06.09.2016
Сообщений: 14
1

Поменять первые и последние буквы у двух соседних слов

19.09.2016, 18:19. Просмотров 192. Ответов 0
Метки нет (Все метки)

Задан текст. Требуется поменять у двух соседних слов первые и последние буквы. Пример: «пример нашего тестового текста» выводить «нримео пашегр тестовога тексто».
Проблема в следующем - появляются непонятные МММММММ... в char и выводятся ошибки.
Код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream>
 
int main()
{
    system("chcp 1251");
    system("cls");
    char s1[64], s2[64], str1[4096], str2[4096], temp[1], p[1];
    int i=-2; // -2 для i+2 через пробел
    p[0] = ' '; // для добавления пробела
    gets_s(str1); // считывание строки
    while (str1[i] != NULL)
    {
        for (i = i + 2; (str1[i] != p[0]) && (str1[i] != NULL); i++) // считывание первого слова
        {
            s1[i] = str1[i];
        }
        if (str1[i] == NULL)  // нечетное количество слов
        {
            strcat_s(str2, s1); // присоединяем оставшееся слово без изменений
            break;
        }
        for (i = i + 2; (str1[i] != p[0]) && (str1[i] != NULL); i++) // считывание второго слова
        {
            s2[i] = str1[i];
        }
        temp[0] = s1[0]; //                 обмен
        s1[0] = s2[0]; //                   первыми
        s2[0] = temp[0]; //                 буквами
        temp[0] = s1[strlen(s1)]; //        обмен
        s1[strlen(s1)] = s2[strlen(s2)]; // последними
        s2[strlen(s2)] = temp[0]; //        буквами
        strcat_s(str2, s1); // присоединение первого слова
        strcat_s(str2, p); // присоединение пробела после первого слова
        strcat_s(str2, s2); // присоединение второго слова
        strcat_s(str2, p); // присоединение пробела после второго слова
    }
    puts(str2);
    _getch();
}
Совсем новичок в Си, так что не ругайте за совсем глупые ошибки.
0
Миниатюры
Поменять первые и последние буквы у двух соседних слов   Поменять первые и последние буквы у двух соседних слов  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2016, 18:19
Ответы с готовыми решениями:

Переписать фразу, изменив первые и последние буквы слов на заглавные
Помогите пожалуйста составить программу. Которая переписывает фразу, меняя первые и последние буквы...

Поменять местами пару слов, у которых первые три буквы одного совпадают с последними тремя буквами другого
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; int main() { int s, n, m, b, a,...

Найти количество слов, у которых первые и последние символы совпадают.
Из файла input.txt считайте строку символов S. Число символов, входящих в строку S, не более 255....

Первые буквы всех слов заменить на заглавные остальные буквы на строчные
Заголовок (Строка, в которой первые буквы всех слов заменены на заглавные остальные буквы на...

Не печатаются первые буквы слов
Подскажите, почему не печатаются первые буквы в словах s в следующем коде? char s; int...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2016, 18:19

Замена каждых двух соседних слов
Имеется строка, нужно поменять местами слова: 1-ое со 2-ым, 3-е с 4-ым и т.д Может есть у кого...

Сформировать строку, которая содержит последние буквы всех слов исходного текста
Добрый день. Помогите с исправлением ошибки. Нужно сформировать строку, которая выводит последние...

Сформировать исходную строку, в котором содержатся последние буквы слов исходного текста
Нужно на си сформировать исходную строку, в котором содержатся последние буквы слов исходного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru