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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2012, 21:53   #1
Рафиль
Пользователь
 
Регистрация: 13.10.2011
Сообщений: 11
По умолчанию Работа со строками

не могу разобраться с разроботкой кода следующей задачи: Даны натуральное число n, символы s1...sn. Преобразовать последовательность s1...sn, удалив каждый символ *, и повторив каждый символ, отличный от *
Рафиль вне форума Ответить с цитированием
Старый 15.04.2012, 21:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что непонятно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2012, 23:21   #3
SlavaSSU
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 46
По умолчанию вот как-то так:

Код:
var
a:array[1..100000] of char;
i,n:longint;
begin
writeln('vvedite kolichestvo simvolov');
readln(n);
writeln('vvedite ',n,' simvolov');
for i:=1 to n do read(a[i]);
for i:=1 to n do if a[i]<>'*' then write(a[i],a[i]);
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
НИУ СГУ им. Чернышевского

Последний раз редактировалось Serge_Bliznykov; 16.04.2012 в 09:30.
SlavaSSU вне форума Ответить с цитированием
Старый 16.04.2012, 09:32   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

SlavaSSU, попытка зачётная. молодец!

НО!

во-первых, с чего Вы решили, что автору вопроса нужен именно Паскаль?

во-вторых, a:array[1..100000] of char;
не каждый Паскаль примет!

в-третьих, в подобных задачах обычно нужно ИЗМЕНИТЬ исходные данные (исходную строку в данном случае), а не вывести так, чтобы казалось, что данные в нужном порядке обработаны.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.04.2012, 16:11   #5
SlavaSSU
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 46
По умолчанию согласен. просто когда сдаю задачи на онлайн контестерах, выбираю делфи и поэтому привык). Ну тогда так:

Код:
var
a,ans:array[1..10000] of char;
i,n,kol:integer;
begin
writeln('vvedite kolichestvo simvolov');
readln(n);
writeln('vvedite ',n,' simvolov');
kol:=0;
for i:=1 to n do begin read(a[i]); if a[i]<>'*' then begin inc(kol); ans[kol]:=a[i];
inc(kol); ans[kol]:=a[i]; end; end;
for i:=1 to kol do write(ans[i]);
end.
НИУ СГУ им. Чернышевского
SlavaSSU вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Работа со строками. ViNcHeStEr Помощь студентам 6 29.06.2008 08:14