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

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

Войти
Регистрация
Восстановить пароль
 
lektor666
1 / 1 / 1
Регистрация: 06.12.2011
Сообщений: 7
#1

Перенести первое слово каждой строки в ее конец! - C++

08.12.2011, 15:36. Просмотров 476. Ответов 0
Метки нет (Все метки)

Нужно перенести первое слово каждой строки в ее конец!
помогите а можно ли этот код доработать так что бы в предпоследнем слове не появлялся рандомный символ и если в тексте несколько пробелов программа их сама убирала и работала адекватно?если да то напишите пожалуйста.Заранее спасибо спасибо.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAXLEN 128
#define MSTR 5
 
int chislo_strok(int *n) {
    printf("Enter the number of lines of text: ");
    scanf("%d%*c", n);
    while (*n > MSTR) {
        printf("Range you number [1..%d]\n", MSTR);
        printf("You number is: ");
        scanf("%d%*c", n);
 
    }
return (0);
}
 
void input_str(char string[][MAXLEN], int n) {
    char* simvol = NULL;
    for (int s = 0; s < n; s++) {
        fgets(string[s], MAXLEN, stdin);
        simvol = strchr(string[s], '\n');
        if (simvol != NULL)
            *simvol = '\0';
 
    }
}
 
void vivod_texta(char string[][MAXLEN], int n) {
    for (int s = 0; s < n; s++)
        puts(string[s]);
}
 
void slova_strok(char string[][MAXLEN], char out1[][MAXLEN], int n) {
        int i, j, k;
        for (i = 0; i < n; i++) {
                j = 0;
                while (string[i][j] != ' ') {
                        j++;
                }
                for (j = j + 1, k = 0; string[i][j] != '\0'; j++, k++) {
                        out1[i][k] = string[i][j];
                }
                j = 0;
                k++;
                out1[i][k] = ' ';
                while (string[i][j] != ' ') {
                        k++;
                        out1[i][k] = string[i][j];
                        j++;
                }
                k++;
                out1[i][k] = '\0';
        }
}
 
 
int main() {
    int chislo_strok(int *n);
void input_str(char string[][MAXLEN], int n);
void vivod_texta(char string[][MAXLEN], int n);
void slova_strok(char string[][MAXLEN], char out1[][MAXLEN], int n);
    int n;
    char str[MSTR][MAXLEN];
    char out[MSTR][MAXLEN];
    chislo_strok(&n);
    printf("\nEnter text of %d lines: \n", n);
    input_str(str, n);
    slova_strok(str, out, n);
    printf("\nResult of work program:\n");
    vivod_texta(out, n);
 
    return (0);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2011, 15:36     Перенести первое слово каждой строки в ее конец!
Посмотрите здесь:

C++ поменять местами первое и второе слово в каждой строке
C++ Считывается только первое слово из строки
C++ Для каждой строки файла переставить первое и среднее слово
Строки. Перевернуть первое слово. C++
Перенести k букв в конец слово C++
Добавить в конец каждой строки необходимо количество «*» что бы выровнять текст по правому краю большей строки C++
C++ Как считать первое слово из каждой строки?
Функция, выделяющая первое слово из строки C++
C++ Перенести все цифры предложения в конец строки
C++ Перенести все цифры в конец строки, при этом порядок букв не меняется
C++ Перенести все цифры в конец каждой строки с сохранением взаимного исходного порядка (файловый ввод/вывод)
Переписать текст в другой файл, поменяв местами первое слово каждой строки с последним C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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