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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2008, 17:28   #1
vitekbest
Пользователь
 
Регистрация: 16.12.2007
Сообщений: 18
Стрелка Ссылки

Здравствуйте, господа, программеры, прошу помочь с задачей на ссылки.

const d=...;{длина строки}
n=...;{максимальное число строк}
type строка=packed array[1..d] of char;
ссылка=строка;
текст=array[1..n] of ссылка;
Используя данное представление текста, описать процедуру удалить (T,i), удаляющую i-тую строку из текста T.

Заранее благодарен.
vitekbest вне форума Ответить с цитированием
Старый 01.06.2008, 19:28   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Что- то еле разобрался в этих типах, один из которых лишний, пока не врубился, что это просто двумерный массив символов. Надо же так запудрить мозги. С горя написал маленькую программу с этой процедурой.
Код:
uses crt;
const d=5;
      n=5;
type Tstr=packed array[1..d] of char;
     Tssl=Tstr;//совершенно лишнее, для чего тип через тип?
     T=array[1..n] of Tssl;
var j,p,nm:integer;
    s:T;
    ss:Tssl;
Procedure Udal(var a:T;i:integer);//передаем в процедуру массив и номер удаляемой строки
var k:integer;
begin
for k:=i to n-1 do
for p:=1 to d do
a[k,p]:=a[k+1,p];//сдвигаем строки вверх на одну до нужной, она удаляется
end;
begin
clrscr;
writeln('Vvedite ',n*d,' simvolov');//вводим в одну строку все символы
for j:=1 to n do
for p:=1 to d do
read(s[j,p]);
readln;
clrscr;
writeln('Ishodnyj text:');
writeln;
for j:=1 to n do //выводим их в виде матрицы
   begin
     for p:=1 to d do
     write(s[j,p]);
     writeln;
   end;
writeln;
write('nm=');readln(nm);//номер удаляемой строки
Udal(s,nm);  //вызов процедуры
writeln('Rezultat:');
writeln;
for j:=1 to n-1 do
   begin
     for p:=1 to d do
     write(s[j,p]);
     writeln;
   end;
readln;
end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылки по программированию Sibedir Свободное общение 3 15.11.2008 20:18
Ссылки!!! саманта Помощь студентам 18 27.09.2008 21:38
Ссылки Принц HTML и CSS 1 31.05.2008 15:46
Ссылки на компоненты.... Altera Общие вопросы Delphi 2 12.02.2008 23:28