Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alexandr_Merx
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 6
#1

Переместить первую букву слова в конец слова(Строки) - C++

02.12.2013, 19:17. Просмотров 646. Ответов 7
Метки нет (Все метки)

Здравствуйте уважаемые форумчане. Помогите пожалуйста.
Напечатать все слова, заранее перенести первую букву слова в конец слова.
Нужно сделать программу которая по введению в нее нескольких слов изменит их(Здравствуйте уважаемые форумчане-дравствуйтез важаемыеу орумчанеф).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 19:17     Переместить первую букву слова в конец слова(Строки)
Посмотрите здесь:

C++ Строки символов. (Переместить последнюю букву в начало слова)
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. C++
Написать функцию, меняющую первую букву каждого слова в строке на номер слова C++
Написать программу, меняющую первую букву каждого слова на эту же букву верхнего регистра C++
Дано два предложения (Распечатать слова из первого предложения, который начинаются на первую букву последнего слова второго предложения) C++
Перенести первую букву в конец слова C++
1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву 2. Определить номер слова в котором больше всего г C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 55
03.12.2013, 01:47     Переместить первую букву слова в конец слова(Строки) #2
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
#include "stdafx.h" 
#include <iostream>
 
int main() {
    char str[80],tmp[1];
    int Len,k;
    printf("enter string:\n");
    gets(str);
 
    Len=strlen(str);
    k=0;                                                            //длинна слова. 0 т.к побелов еще не было и первая буква слова имеет индекс 0
    for(int i=0; i<=Len; i++){
        if ((str[i+1] == ' ')|| (str[i+1] == '\0')) tmp[0]= str[i]; // tmp хранит последнюю букву слова
        
        if((str[i]== ' ') || (str[i] == '\0')){                     //встретили пробел или конец строки
            str[i-1]=str[i-k];                                      //вместо последней буквы ставит первую
            str[i-k]= tmp[0];                                       //вместо первой буквы ставит последнюю (tmp[0])
            k=-1;                                                   //k=-1 т.к у нас был пробел а нам его за длинну слова считать не нужно
        }
        k++;
    }
    printf("\n");
    for(int i=0; i<=Len; i++)
        printf("%c",str[i]);
    system("pause");
    return 0;
 
 
}
Пожалуйста.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
03.12.2013, 01:55     Переместить первую букву слова в конец слова(Строки) #3
Waik, введите Zero One Two Three и посмотрите как изменится последнее слово слово.
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 55
03.12.2013, 02:01     Переместить первую букву слова в конец слова(Строки) #4
Получаю: oerZ enO owT ehreT
Был невнимателен.
Сейчас перечитал задание, первый раз прочел как "первую и последнюю буквы слова поменять местами".
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
03.12.2013, 02:14     Переместить первую букву слова в конец слова(Строки) #5
Цитата Сообщение от Waik Посмотреть сообщение
Сейчас перечитал задание, первый раз прочел как "первую и последнюю буквы слова поменять местами".
Программа то работает по заданию у меня просто в последнем слове буквы не правильно меняет местами. Ничего не имею против если у вас все работает правильно.
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 55
03.12.2013, 02:19     Переместить первую букву слова в конец слова(Строки) #6
Цитата Сообщение от Alex566 Посмотреть сообщение
Программа то работает по заданию ....
Оказывается не по заданию она работает) нужно первую букву слова поместить вконец слова, у меня-же первая и последняя буква слова меняются местами.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
03.12.2013, 02:42     Переместить первую букву слова в конец слова(Строки) #7
В общем что-то запутался. Вот мой вариант решения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
int main() 
{
    char text[256],tm;
    puts("Enter string:");
    gets(text);
    int n=strlen(text),k=0;
    for(int i=0;i<=n;i++)
        if(text[i]==' ' || text[i]==0)
        {
            for(int j=k;j<i-1;j++)
            {
                tm=text[j];
                text[j]=text[j+1];
                text[j+1]=tm;
            }
            k=i+1;
        }
    puts(text);
    system("pause");
    return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2013, 11:24     Переместить первую букву слова в конец слова(Строки)
Еще ссылки по теме:

C++ У каждого слова введенной строки поменять местами первую и последнюю букву.
Переместить в слове первую букву в конец слова C++
C++ Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Переместить слова начинающиеся на одинаковую букву C++
C++ Удалить первую и последнюю букву слова - C++

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

Или воспользуйтесь поиском по форуму:
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
03.12.2013, 11:24     Переместить первую букву слова в конец слова(Строки) #8
А от мое элегантное решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <regex>
using namespace::std;
 
int main()
{
    string s="hellow world a ad gacpada";
    cout <<"s= "<<s<<endl;
    s=regex_replace(s,regex("(\\w)([^ ]*\\w)"),string("$2$1"));
    cout <<"s= "<<s<<endl;
 
    return 0;
}
Yandex
Объявления
03.12.2013, 11:24     Переместить первую букву слова в конец слова(Строки)
Ответ Создать тему
Опции темы

Текущее время: 06:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru