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

Пожалуйста упростить ее надо, задача по строкам, завтра сдать нужно - C++

Восстановить пароль Регистрация
 
sergeu
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 3
18.12.2013, 21:52     Пожалуйста упростить ее надо, задача по строкам, завтра сдать нужно #1
УСЛОВИЕ:
Текст записан 60-символьными строками, содержит знаки корректуры: $ – сделать красную строку; # – удалить следующее слово; @ – удалить следующую фразу. Произвести указанную корректировку, переформируя строки в пределах абзаца.

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
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <iostream> 
#include <locale.h>
using namespace std;
const char
Abc[]="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ"
"абвгдеёжзийклмнопрстуфхцчшщьыъэюя";
char Bukva(char ch)
{int i;
 if ('A'<=ch && ch<'z') return ch;
 for( i=0; i<66 && Abc[i]!=ch; i++);
 if (i<66) return ch;
 else return 0;
}
const int maxLen=60,maxN=20;
char
stroka[maxN][maxLen]={
"The stream is #implemented by the class that the ios data",
"member bp @is pointing to. $Depending on which derived",
"class of streambuf bp is pointing to, iostream determines",
"if the input stream and output stream will be the",
"same. $For example, iostream utilizing a filebuf will input",
"and output to the same file. Yet iostream utilizing a",
"strstreambuf can have the input and output stream go to",
"the same or different memory locations."
};
int main()
{
 unsigned n=8,i,j,k,len, flag;
 setlocale(LC_ALL,"rus");
 
 cout<< "Исходный текст:\n";
 for(i=0;i<n;i++)
   puts(stroka[i]);
 
 char *sc,*p,*t;
 for(i=0;i<n;i++) {
   sc=stroka[i];
     if (p=strchr(sc,'#')) {
       t=p+1; while (t && Bukva(*t)) t++;
       *p=0;if (*t==' ') t++;
       strcat(stroka[i],t);
     }
     if (p=strchr(sc,'@')) {
       if ((t=strchr(p,'.'))==NULL) {
     k=i+1;
     while (k<n && (t=strchr(stroka[k],'.'))==NULL) k++;
     *p=0;strcat(p,".");
     if (k<n) strcpy(stroka[k],t+1);
     int d=k-i-1,nt=n-d;
     for(j=i+1;j<nt;j++)
       strcpy(stroka[j],stroka[j+d]);
     for(j=nt;j<n;j++) strcpy(stroka[j],"");
     n-=d;
       }
       else {
     *p=0; strcat(sc,t);
       }
     }
     if (p=strchr(sc,'$')) { 
       for(k=n;k>i+1;k--) strcpy(stroka[k],stroka[k-1]);
       n=n+1;
       strcpy(stroka[i+1],"   "); strcat(stroka[i+1],p+1);
       *p=0;
     }
 }
 cout<< "\n\nОткорректированный текст:\n";
 for(i=0;i<n;i++)
   puts(stroka[i]);
 return 0;
}



И если не сложно блок схемы заранние СПАСИБО
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 21:52     Пожалуйста упростить ее надо, задача по строкам, завтра сдать нужно
Посмотрите здесь:

Пом0гите пожалуйста. Очень нужно..завтра зачет сдавать... C++
Найти сумму (Ребят, пожалуйста, нужно зачет сдать!!!) C++
Завтра надо=(((( Двумерный массив C++
C++ не могу решить. очень надо завтра модуль
C++ Напишите пожалуйста решение задачи на Си++,завтра зачет.нужно сдать.Спасибо
C++ Ребятушки программисты надо лабораторную по циклам в с++ сдать,не одна без ошибок не получается у меня (
Народ мне очень надо на завтра пожалуйста C++
Нужно сделать задание по c++! Через 3 часа нужно сдать! C++

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

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

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