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

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

Восстановить пароль Регистрация
 
lektor666
1 / 1 / 1
Регистрация: 06.12.2011
Сообщений: 7
08.12.2011, 15:36     Перенести первое слово каждой строки в ее конец! #1
Нужно перенести первое слово каждой строки в ее конец!
помогите а можно ли этот код доработать так что бы в предпоследнем слове не появлялся рандомный символ и если в тексте несколько пробелов программа их сама убирала и работала адекватно?если да то напишите пожалуйста.Заранее спасибо спасибо.
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++
Перенести k букв в конец слово C++
C++ Как считать первое слово из каждой строки?
C++ Определить, содержит ли последнее слово строки букву, с которой начинается первое слово
C++ Перенести все цифры предложения в конец строки
C++ Перенести все цифры в конец строки, при этом порядок букв не меняется

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

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

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