Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Хыиуду » 24 дек 2007, 11:17

1. Пройти в цикле по массиву, найти строку с числом К. Пусть она будет с номером А.
2. Все строки, начиная с М, кончая А+1 включительно, перенести на 1 вниз. Т. е. в М+1 строку копируется М-я, в М-ю - М-1-я и т.д.
3. В А+1-ю строку копируется М+1-я

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

GordonF » 23 дек 2007, 16:30

Спасибо огромное!)
Парни,вот есть еще один вопрос..задачка,ну никто не знает как сделать..со многими разговаривал..а очень нужно)

Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел A[M,N], где M,N<=10. Вставить последнюю стоку после строки, в которой находится заданное число К.

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Хыиуду » 18 дек 2007, 11:30

Хотя вру, сам уже забыл, что подпрограмма str в Паскале - процедура, а не функция. Эх, ПХП зохавывает мозг ;)

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

BBB » 17 дек 2007, 12:45

Хыиуду писал(а):BBB, Serge Bliznykov, спасибо за исправления, но мой код - как раз на Паскале ;)
Хе, век живи, век учись :) /это я о себе/ Не знал (или напрочь забыл), что есть для работы с множествами процедуры Include / Exclude:

Declaration:
procedure Include(var S: set of T; I:T);


Хотя мой код так же верен. Можно писать и так, и эдак.
Правда, тот же Help Паскаля в описании Include примечает ( ;) ) :

The construct Include (S,I) corresponds to S := S + (I) but the Include
procedure generates more efficient code.

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Хыиуду » 17 дек 2007, 11:00

BBB, Serge Bliznykov, спасибо за исправления, но мой код - как раз на Паскале ;)

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

BBB » 17 дек 2007, 09:43

Serge_Bliznykov, Да, конечно :)

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Serge_Bliznykov » 15 дек 2007, 00:43

for i:=1 to length(N) do
может всё же Length(s) ???? :-)))))

.

BBB » 14 дек 2007, 12:51

Хыиуду писал(а):s:=str(N);
for i:=1 to length(N) do
if not (s in my_set) then include(s,my_set);
for c:='0' to '9' do
if c in my_set then write(c);

Ну, на Паскале это выглядит как-то вот так :)

Код: Выделить всё

var s : string;
      i, N : longint;
      my_set : set of char;
      c : char;
begin
 str(N, s);
 for i:=1 to length(S) do
    my_set := my_set + [ s[i]];  { проверять на то, что s[i] уже содержится }
                                              { в my_set необязательно }
 for c:='0' to '9' do
    if c in my_set then
       writeln(c);
end.

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

Хыиуду » 14 дек 2007, 11:38

s:=str(N);
for i:=1 to length(N) do
if not (s in my_set) then include(s,my_set);
for c:='0' to '9' do
if c in my_set then write(c);

Re: Две задачи на про цедуры и финкции по Turbo Pascal (помогите,пожалуйста)

GordonF » 13 дек 2007, 18:32

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

Вернуться к началу