Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
#1

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

28.11.2010, 13:44. Просмотров 2778. Ответов 6
Метки нет (Все метки)

Прошу помощи в решении задачи. Нужно написать код к данной задаче в 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();
}

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

Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова - C++
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела....

Перенести последнюю букву слова в начало С++ - C++
Дан текст. Словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела. Перед первым...

С клавиатуры вводится многострочный текст. Распечатать слова из текста, преобразовав их следующим образом: · перенести последнюю букву в начало слова; - C++
С клавиатуры вводится многострочный текст. Распечатать слова из текста, преобразовав их следующим образом: · перенести последнюю букву...

Последнюю букву строки в начало - C++
Необходимо перенести последние буквы каждого слова в начало. Но получается почему-то удалить первую букву. void obrabotka_file(char...

Переместить слова в начало строки - C++
Добрый день! Дана строка CString типа, перем m_f и m_last указывают диапазон слов, которые надо перенести в начало строки. char...

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

6
accept
4825 / 3246 / 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';
    }
это перенос последнего символа строки в начало строки
0
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
28.11.2010, 18:27  [ТС] #3
можешь вставить это в мой код и сделать так чтоб это работало? а то я вставляю, заменяю на свои переменные и всё равно не компилит(((
помогите плз((
0
accept
4825 / 3246 / 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';
        }
    }
0
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
29.11.2010, 17:21  [ТС] #5
Вставил, теперь работает, но неверно... он заменяет первую букву на последнюю, а надо чтоб ставил на первое место, а остальные буквы как-бы сдвигал...
0
accept
4825 / 3246 / 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]$
0
fantomart
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 41
30.11.2010, 12:52  [ТС] #7
Спасибо=)
0
30.11.2010, 12:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 12:52
Привет! Вот еще темы с ответами:

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

Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву - C++
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами не менее...

:Вывести все слова предложения, содержащие последнюю букву предыдущего слова не менее 2 раз - C++
Делаю задание:Вывести все слова предложения, содержащие последнюю букву предыдущего слова не менее 2 раз. Начал с пере формировки...

Переместить слова начинающиеся на одинаковую букву - C++
Здрасьте, такая проблема, нужно написать код на с++: В массиве найти слова , которые начинаются на одну и ту же букву и скопировать их...


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

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

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