Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2012, 16:17   #1
reprain
Пользователь
 
Регистрация: 07.10.2012
Сообщений: 16
По умолчанию

Даны символы S1, S2,... Известно, что символ S1 отличен
от пробела и что среди S2, S3,... имеется хотя-бы один пробел.
Рассматриваются S1,... SN - символы, предшествующие первому про-
белу (N-заранее известно). Преобразовать последовательность
S1,... SN : удалив из каждой группы цифр, которой не предшес-
твует точка, все начальные нули (кроме последнего, если за ним
идет точка ).

ТО есть,дана последовательность ,но нам надо преоброзовать(удалить нули)только ту ее часть,что идет до 1 проблела.
Совбтвенно у меня 2 плохо работающие программы

1- редакритует всю последовательность. даже то,что идет после 1 нуля...
Код:
var s,s1,s2:string;
    i:byte;
begin
clrscr;
repeat
writeln('Введите строку, не начинающуюся пробелом, но содержащую хотя бы 1 пробел.');
readln(s);
if pos(' ',s) in [0,1] then writeln('Строка введена неверно! Повторите ввод.');
until not(pos(' ',s) in [0,1]);
s1:=copy(s,1,pos(' ',s)-1);
s2:='';
i:=1;
while i<=length(s) do
if(s[i]='0')and (s[i+1] <> '.') then i:=i+1
else
 begin
  s2:=s2+s[i];
  i:=i+1;
 end;
write(s2);
readln
end.
2- выводит только 2 часть измененой последовательности,а 2(ту ,что после 1 пробела),не выводит
Код:
var n,s,s1,s2,q,g,h,o:string;
    i:byte;
begin

repeat
writeln('Ââåäèòå ñòðîêó, íå íà÷èíàþùóþñÿ ïðîáåëîì, íî ñîäåðæàùóþ õîòÿ áû 1 ïðîáåë.');
readln(n);
h:=copy(n,1,pos(' ',n)-()) ;
if pos(' ',n) in [0,1] then writeln('Ñòðîêà ââåäåíà íåâåðíî! Ïîâòîðèòå ââîä.');
until not(pos(' ',n) in [0,1]);
s1:=copy(n,1,pos(' ',n)-1);
s2:='';
i:=1;
q:=s1;
while i<=length(q) do
if(q[i]='0')and (q[i+1] <> '.')
 then i:=i+1
else
 begin
  s2:=s2+q[i];
  i:=i+1;
 end;
   g:=s2;
   writeLn('первая часть измененой последовательности:  ',g);
     writeLn(h)
readln
end.
У кого какие предложения есть?


возможна благодарность рублем

ну же....активнее) сам не могу уже

Последний раз редактировалось Stilet; 25.12.2012 в 21:52.
reprain вне форума Ответить с цитированием
Старый 25.12.2012, 21:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
(удалить нули)только ту ее часть,что идет до 1 проблела.
Код:
var s,s1,s2:string;
    i:byte;
begin
clrscr;
repeat
 writeln('Введите строку, не начинающуюся пробелом, но содержащую хотя бы 1 пробел.');
 readln(s);
 i:=pos(' ',s)
 if i in [0,1] then writeln('Строка введена неверно! Повторите ввод.');
until not(pos(' ',s) in [0,1]);

while i>0 do if(s[i]='0') then delete(s,i,1) else dec(i);

write(ss);
readln
end.
Подходит? Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2012, 22:08   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Stilet, думаю, что не подойдёт..
там в условии какая заумь насчёт группы цифр, предшествующей этой группе точке и точке завершающей группу...


reprain, Вы в задании хорошо разобрались? Растолковать, что нужно, на конкретных примерах можете?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.12.2012, 22:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
там в условии какая заумь
Дык стандартненькая закись методы среднестатестического ВУЗа
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элемента строки millepetrozza Общие вопросы C/C++ 4 20.11.2012 21:05
Не могу найти ошибку... хотя я ее нашел... но не знаю как исправить))) ( удаление строки из файла) dykatob Общие вопросы C/C++ 0 03.06.2011 10:42
Строки (найти ошибку) limaxY Общие вопросы C/C++ 8 05.01.2011 04:55
Строки. Помогите найти ошибку. 5nizza77 Помощь студентам 1 16.10.2009 16:10
не могу найти ошибку в бинарном поиске элемента для таблицы Petruha-nsk Общие вопросы C/C++ 0 30.05.2009 08:26