Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 18.03.2015
Сообщений: 1

Опишите процедуру ЗАМЕНА (L , i , j)

18.03.2015, 04:16. Показов 2688. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используйте представление последовательности строк в виде линейного списка и опишите процедуру ЗАМЕНА (L , i , j), заменяющую i- ю строку списка L на копию j- й строки .
Help me. Please.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2015, 04:16
Ответы с готовыми решениями:

Опишите процедуру, которая удаляет элементы
Здравствуйте нужна помощь в задаче. Используйте линейные списки для хранения последовательности чисел. Опишите процедуру, которая...

Опишите процедуру вычисления количества чисел
Опишите процедуру вычисления количества чисел, делящихся на 7 без остатка в массиве A из n элементов.

Используйте линейные списки для хранения последовательности чисел. Опишите процедуру, которая удаляет
Нужен код программы к данным условиям Используйте линейные списки для хранения последовательности чисел. Опишите процедуру, которая...

8
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
18.03.2015, 06:38
Пусть задан список:

Pascal
1
2
3
4
5
6
type
  tList = ^rList;
  rList = record
    S : String;
    Next : tList;
  end;
Тогда процедура будет выглядеть примерно так:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure ListChange(L : tList; i, j : Integer);
var n : Integer; Ci, Cj : tList;
begin
  Ci := L; n := 1;
  while (Ci <> nil) and (n < i) do
    begin Ci := Ci^.Next; n += 1; end;
  if Ci = nil then Exit; /// Нет такого значения
  Cj := L; n := 1;
  while (Cj <> nil) and (n < i) do
    begin Cj := Cj^.Next; n += 1; end;
  if Cj = nil then Exit; /// Нет такого значения
  { замена на копию }
  Ci^.S := Cj^.S;
end;
2
3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
07.07.2015, 11:55
пожалуйста, не могли бы вы подсказать как организовать процедуру ввода строк в линейный список
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
07.07.2015, 11:57
Обычно ввод строк осуществляется с помощью оператора ReadLn.
0
3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
07.07.2015, 12:06
Просто пишу похожую задачу, с ней проблема, не могли бы вы глянуть эту процедуру ввода строк
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
type
  list = ^Tlist;
  Tlist = record
    next: list;
    s: String;
  end;
procedure Vvod(var l: list);
var
  p: ^list;
  ss: String;
begin
  p:=@l;
  WriteLn('Vvedite stroki, okonchanie vvoda .');
  repeat
    ReadLn(ss);
    if s='.' then Break;
    New(p^); p^^.s:=ss; p:=@p^^.next;
  until False;
  p^:=nil;
end;
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
07.07.2015, 12:21
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Нужно писать программы по принципу «разделяй и властвуй».
Т.е. процедура «ввода строк» должна вводить строки, а процедура «добавления строк в список» — добавлять строки в список!

Pascal
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
type
  tList = ^rList;
  rList = record
    S : String;
    Next : tList;
  end;
  
// Процедура добавления нового элемента к списку
procedure ListAdd(var List : tList; S : String);
var
  tmp : tList;
begin
  if List = nil then // Добавляем первый
    begin
      New(List);
      List^.S := S;
      List^.Next := nil;
    end
  else // Добавляем в конец списка
    begin
      // Идём к последнему элементу списка
      tmp := List;
      while tmp^.Next <> nil do
        tmp := tmp^.Next;
      // Добавляем новый
      New(tmp^.Next);
      tmp := tmp^.Next;
      tmp^.S := S;
      tmp^.Next := nil;
    end;
end;
 
// Процедура ввода строк
procedure InputStrings(var List : tList);
var
  S : String;
begin
  WriteLn('Ввод пустой строки означает окончание ввода.');
  WriteLn('Вводите текст:');
  repeat
    ReadLn(S);
    if S <> '' then
      ListAdd(List, S);
  until S = '';
  WriteLn('Ввод текста окончен.');
end;
 
// Вывод списка
procedure OutputStrings(msg : String; List : tList);
begin
  WriteLn(msg);
  while List <> nil do
    begin
      WriteLn(List^.S);
      List := List^.Next;
    end;
end;
 
var
  List : tList;
begin
  List := nil;
  InputStrings(List);
  OutputStrings('Введён следующий текст:', List);
end.
2
3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
07.07.2015, 12:22
очень помогли спасибо
0
14 / 14 / 5
Регистрация: 16.01.2016
Сообщений: 81
07.02.2016, 19:49
Возвращаясь к заданию, может тут еще задать номер строки? каким образом пользователь укажет какую строку заменить?

Добавлено через 1 минуту
Pascal
1
2
3
4
5
6
7
type
  tList = ^rList;
  rList = record
    S : String;
    N:Integer;
    Next : tList;
  end;
0
0 / 0 / 0
Регистрация: 25.12.2018
Сообщений: 8
05.04.2019, 16:13
Добрый день, не спасем понимаю, что и где заменяется по условию задачи, можете объяснить новичку что к чему)) заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2019, 16:13
Помогаю со студенческими работами здесь

Опишите процедуру или функцию, которая для данного списка L создает список L1, содержащий только положительные элементы
помогите плиз решить задачу на паскале, не могу понять никак. Используйте линейные списки для хранения последовательности чисел. Опишите...

Опишите процедуру сложения матриц А и В. Опишите процедуру транспонирования матрицы А
Опишите процедуру добавления матриц А и В. опишите процедуру транспонирования матрицы А. Опишите процедуру перемножения матриц А и В....

Опишите процедуру, которая вычисляет периметр прямоугольника
Опишите процедуру, которая вычисляет периметр прямоугольника.

Опишите процедуру реализации разности элементов с последним
Сформировать список по условию: даны действительные числа x1, x2, . . . , xn ( n &gt;= 2 и заранее неизвестно). Получить...

Опишите процедуру delete(f), удаляющую из файла f все литеры '+' и '-'
1) type myfile = file of char; Опишите процедуру delete(f), удаляющую из файла f все литеры '+' и '-'. program six; {6) type...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru