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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
28.11.2010, 13:44     Строки символов. (Переместить последнюю букву в начало слова) #1
Прошу помощи в решении задачи. Нужно написать код к данной задаче в Visual Studio (в консольной приложении). Вот и сама задача: В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, перенести последнюю букву в начало слова. Полученный текст вывести на экран.
Заранее спасибо))

Добавлено через 39 минут
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<iostream>
using namespace std;

void main()
{
const int size=80;
const int n=10;

char input[n][size];
char *a[n],*tmp;
int i=0,j,raz;

cout<<"Enter strings: \n";
while (i<n && gets(input[i])!=NULL && input[i][0] !='\0')
{
a[i]=input[i];
i++;
raz=i;
}

for (i=0;i<raz;i++)
{
for (j=0;j<raz;j++)
Вот здесь надо вставить
}

cout<<"\nSorted array strings:\n";
for (i=0;i<raz;i++) cout<<a[i]<<"\n";

getch();
}

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

C++ С клавиатуры вводится многострочный текст. Распечатать слова из текста, преобразовав их следующим образом: · перенести последнюю букву в начало слова;
Переместить слова в начало строки C++
C++ Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова
:Вывести все слова предложения, содержащие последнюю букву предыдущего слова не менее 2 раз C++
C++ У каждого слова введенной строки поменять местами первую и последнюю букву.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.11.2010, 13:50     Строки символов. (Переместить последнюю букву в начало слова) #2
C
1
2
3
4
    size_t n;
 
    if ((n = strlen(line)) > 1)
        line[0] = line[n - 1];
это копирование последнего символа строки в начало строки

Цитата Сообщение от fantomart
перенести последнюю букву в начало слова
C
1
2
3
4
5
6
    size_t n;
 
    if ((n = strlen(line)) > 1) {
        line[0] = line[n - 1];
        line[n - 1] = '\0';
    }
это перенос последнего символа строки в начало строки
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
28.11.2010, 18:27  [ТС]     Строки символов. (Переместить последнюю букву в начало слова) #3
можешь вставить это в мой код и сделать так чтоб это работало? а то я вставляю, заменяю на свои переменные и всё равно не компилит(((
помогите плз((
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.11.2010, 23:18     Строки символов. (Переместить последнюю букву в начало слова) #4
C
1
2
3
4
5
6
7
8
    for (i = 0; i < raz; i++) {
        char *line = a[i];
        size_t n;
        if ((n = strlen(line)) > 1) {
            line[0] = line[n - 1];
            line[n - 1] = '\0';
        }
    }
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
29.11.2010, 17:21  [ТС]     Строки символов. (Переместить последнюю букву в начало слова) #5
Вставил, теперь работает, но неверно... он заменяет первую букву на последнюю, а надо чтоб ставил на первое место, а остальные буквы как-бы сдвигал...
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.11.2010, 01:36     Строки символов. (Переместить последнюю букву в начало слова) #6
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
#include <stdio.h>
#include <string.h>
 
int main(void)
{
    char a[3][100] = {
        "abc",
        "defghi",
        "jklm"
    };
    int i, raz = 3;
    
    for (i = 0; i < raz; i++) {
        char *line = a[i];
        size_t n;
        if ((n = strlen(line)) > 1) {
            int c = line[n - 1];
            memmove(line + 1, line, n - 1);
            line[0] = c;
        }
    }
 
    for (i = 0; i < raz; i++)
        printf("%s" "\n", a[i]);
 
    return 0;
}
Код
[guest@localhost tests]$ ./t
cab
idefgh
mjkl
[guest@localhost tests]$
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 12:52     Строки символов. (Переместить последнюю букву в начало слова)
Еще ссылки по теме:

C++ Переместить первую букву слова в конец слова(Строки)
C++ Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Переместить слова начинающиеся на одинаковую букву C++

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

Или воспользуйтесь поиском по форуму:
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
30.11.2010, 12:52  [ТС]     Строки символов. (Переместить последнюю букву в начало слова) #7
Спасибо=)
Yandex
Объявления
30.11.2010, 12:52     Строки символов. (Переместить последнюю букву в начало слова)
Ответ Создать тему
Опции темы

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