0 / 0 / 0
Регистрация: 17.12.2013
Сообщений: 48
1

Нужно, чтобы исходный текст выводился во 2 пункте, а новый в 4

03.03.2014, 13:54. Показов 643. Ответов 1
Метки нет (Все метки)

Надо чтобы исходный текст выводился во 2 пункте, а новый в 4. сейчас у меня исходный текст и текст, после форматирования одно и тоже. помогите решить эту проблемы

Вот собственно и сам код
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
 
void help();
void menu();
char**vvod_texta(int*);
char** svoboda_text(char**, int);
void vyvod_texta(char**, int);
char **format(char **text, int *k);
int main()
{
    char** text = NULL;
    int flag1, flag2;
    flag1 = 0; flag2 = 0;
    char m;
    int i;
    int k = 0;
    do
    {
        system("cls");
        menu();
        m = _getche();
        switch (m)
        {
        case '0':
            system("cls");
            help();
            getchar();
            break;
        case '1':
            system("cls");
            text = svoboda_text(text, k);
            printf("\n\nEnd of the text is string \"TAB\"\n");
            text = vvod_texta(&k);
            flag1 = 1;
            break;
 
        case '2':
            system("cls");
            if (flag1 == 1)
            {
                printf("\nVuvod texta:\n");
                vyvod_texta(text, k);
            }
            else
                printf("\nText ne vveden!\n\n");
            getchar();
            break;
        case '3':
            system("cls");
            if (flag1 == 1)
            {
                printf("\n<<<Format text>>>\n");
                text = format(text, &k);
 
 
                flag2 = 1;
            }
            else
            {
                printf("\nText ne vveden!\n");
            }
            getchar();
            break;
        case '4':
            system("cls");
            if (flag1 == 1 && flag2 == 1)
            {
                printf("\nVuvod novogo texta:\n");
                vyvod_texta(text, k);
            }
            else
            {
                printf("\nSJIedyite IIo IIynktam!\n");
            }
            getchar();
            break;
        case'5':
            system("cls");
            text = svoboda_text(text, k);
            printf(" Bbixod\n");
            system("pause");
            return 0;
            break;
        default:
            printf("\nHe BePHbiU IIyHKT\n");
            system("pause");
            break;
        }
    } while (m != 5);
    return 0;
}
 
char **format(char **text, int *k)
{
    int nn;
    char * pch;
    char *copy;
    char r[] = "\n\t ,.!?\r";
    for (int i = 0; i<*k; i++)
    {
        copy = strdup(text[i]); 
        pch = strtok(copy, r);
        nn = 0;
        while (pch != NULL)
        {
            if (strlen(pch) & 1)nn++;
            pch = strtok(NULL, r);
        }
        if (nn >= 2)
        {
            free(text[i]);
            for (int j = i; j<*k - 1; j++)text[j] = text[j + 1];
            (*k)--;
            text = (char**)realloc(text, sizeof(char*)*(*k));
            i--;
        }
        free(copy);
    }
    return text;
}
 
void help()
{
    printf("\n\n<<<<<<<<<-------------------------<<HELP>>------------------------->>>>>>>>>>\n");
    printf("  Dlya nachala rabotu nado vubrat 1 punkt MENU\n");
    printf("  Pri vvode texta dopyskaetsa ENG/RUS and cifru(1-9) raskladka klaviatyru\n");
    printf("  Chtobu zakonchit vvod, nazmite TAB\n");
    printf("  Posle togo kak vveli text, ego preobrazovanie mosno vuvesti(2 punkt menu)\n");
    printf("  Formatirovanie texta proisxodit v punkte 3\n");
    printf("  Posle formatirovaniya nobuy text mozno BbiBeCtu (4 punkt menu)\n");
    printf("  Bbixodom 9BJI9etc9 punkt 5");
    printf("\n\n<<<<<<<<<----------------------------------------------------------->>>>>>>>>\n\n");
    system("pause");
}
void menu()
{
    printf("0. Help \n1. Enter the input text \n2. Output text\n3. Format text\n4. Vuvod new text\n5. Bbixod \n\n\nInput: \n");
}
 
char** vvod_texta(int*k)
{
    char str[81];
    char**mas = NULL;
    int i, j;
    int f1, f2;
    f1 = 1;
    for (i = 0; f1 != 0; i++)
    {
        f2 = 1;
        for (j = 0; (j<81) && (f2 != 0); j++)
        {
            str[j] = _getche();
            if (str[j] == 13)
            {
                printf("\n");
                f2 = 0;
                str[j] = '\0';
            }
            if (str[j] == 9)
            {
                f2 = 0;
                f1 = 0;
                str[j] = '\0';
            }
        }
        mas = (char**)realloc(mas, (i + 1)*sizeof(char *));
        mas[i] = (char*)malloc((strlen(str) + 1)*sizeof(char));
        strcpy_s(mas[i], strlen(str) + 1, str);
    }
    *k = i;
    return mas;
}
 
char** svoboda_text(char** mas, int k)
{
    int i;
    if (mas != NULL)
    {
        for (i = 0; i < k; i++)
            free(mas[i]);
        free(mas);
        mas = NULL;
    }
    return mas;
}
 
void vyvod_texta(char**mas, int n)
{
    int i, j;
    for (i = 0; i < n; i++)
    {
        printf("\n");
        for (j = 0; j < strlen(mas[i]); j++)
        {
            printf("%c", *(*(mas + i) + j));
        }
    }
}
Добавлено через 54 минуты
люди срочно надо, ну пожалуйста помогите

Добавлено через 14 часов 57 минут
Программисты ну помогите, очень срочно надо
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2014, 13:54
Ответы с готовыми решениями:

Как сделать чтобы строки читались из файла и ответ выводился в новый файл
Как изменить этот код, чтобы он считывал с файла s1 и s и выводил ответ в файл. #include...

Как сделать чтобы текст выводился не в строчку а в столбец?
создал бд в PHPMYADMIN, в бд текст в столбец а когда вывожу на сайт текст выводится в строчку,...

Что нужно сделать, чтобы при х=-3 выводился у=0?
Что нужно сделать, чтобы при х=-3 выводился у=0? #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Надо код, чтобы по нажатию кнопки выводился на экран текст
Читал тексты на форуме там написан код что при нажатии кнопки меняется текст в заголовке окна. я ни...

1
Модератор
Эксперт С++
12401 / 9981 / 6006
Регистрация: 18.12.2011
Сообщений: 26,706
03.03.2014, 17:28 2
перед форматированием сделайте копию текста и в 4 пункте выводите эту копию.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2014, 17:28
Помогаю со студенческими работами здесь

Нужно, чтобы в поле Мемо выводился окончательный ответ
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Как в MonoGame сделать чтобы текст выводился в игре на русском, а то выбивает ошибку!
Как в MonoGame сделать чтобы текст выводился в игре на русском, ато выбивает ошибку! на английском...

Нужно изменить код программы чтобы в пункте Новая игра был выбор размера поля
Нужно изменить код программы чтобы в пункте Новая игра был выбор поле 4*4,5*5,6*6,7*7,8*8. ...

Нужно чтобы в редактор выводился товар (картинки) для редактирования внешнего вида
Народ, такая ситуация! Нужно что бы в редактор выводился товар (картинки) для редактирования...

Как сделать, чтобы текст выводился поочередно буква за буквой через определенный промежуток времени?
Еще раз доброго времени суток! Задача такая: есть текст, который нужно выводить плавно, буква за...

Как записать условие, чтобы в моей программе текст выводился только когда не найдено искомых строк.
всем здравствуйте. до сих пор я не имел проблем с составлением условий в программном коде) но вот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru