4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111

Найти максимальный элемент списка

12.06.2011, 23:40. Показов 4301. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо найти максимальный элемент списка. Фигня, но никак не могу понять где у меня ошибка =(

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
66
67
68
69
70
71
72
Program A1;
Uses Crt;
Type
    Link1=^MyRec;
    MyRec=Record
          Info:Integer;
          Next:Link1;
          end;
Var
   A:Link1;
{Задание №1. Создание списка.}
Procedure Sozdanie(Var A:Link1);
Var
   M,I:Integer;
   T:Link1;
Begin
     New(T);
     I:=1;
     T:=A;
     A^.Next:=Nil;
     Write('Введите ',I,' число списка (конец - 0): '); Readln(M);
     While M<>0 do begin
     New(T^.Next);
     T:=T^.Next;
     T^.Info:=M;
     T^.Next:=Nil;
     I:=I+1;
     Write('Введите ',I,' число списка (конец - 0): '); Readln(M);
     end;
end;
{Задание №2. Вывод списка на экран.}
Procedure Vyvod(Var A:Link1);
Var
   T:Link1;
Begin
     T:=A;
     Writeln('Содержимое списка:');
     While T^.Next<>Nil do begin
     T:=T^.Next;
     Write(T^.Info,' ');
     end;
     Writeln;
     Dispose(T);
     Write('Конец ввода. Нажмите Enter для продолжения...');
end;
{Задание №3. Максимальный элемент списка.}
Procedure MaxElem(A:Link1);
Var
   T:Link1;
   Max:Integer;
Begin
     T:=A^.Next;
     Max:=T^.Info;
     While T^.Next<>Nil do begin
     If T^.Info>Max then Max:=T^.Info;
     T:=T^.Next;
     end;
     Writeln('Максимальный элемент списка: ',Max);
end;
Begin
     ClrScr;
     Writeln('Количество свободной динамической памяти: ',MemAvail);
     Sozdanie(A);
     ClrScr;
     Vyvod(A);
     Writeln;
     Readkey;
     Writeln('------------------------------------------------------------------------------');
     MaxElem(A);
     Writeln;
     Readkey;
End.

Выводит мне какие то неведомые числа все время.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2011, 23:40
Ответы с готовыми решениями:

Найти максимальный элемент двунаправленного списка и удалить его
Создать двунаправленный список, добавить элементы вывести на экран. Найти максимальный элемент и удалить его. Вывести полученный список на...

В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы
В квадратной матрице 6х6 найти максимальный элемент, который лежит на побочной диагонали и максимальный элемент в каждой строке матрицы

Найти максимальный элемент матрицы и увеличить каждый элемент на максимальный
Дан двумерный массив 3х4. Элементы массива целые числа. а) найти максимальный элемент массива и увеличить каждый элемент на максимальный;...

3
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.06.2011, 23:54
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

в общем случае
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure poisk (s:spisok);
var max:integer;
 buf:spisok;
begin
buf=s;
max:=buf^.element;
while buf<>nil do
begin
 if buf^.element>max then max:=buf^.element;
buf:=buf^.next;
end;
write ('max=',max);
end;
1
4 / 4 / 1
Регистрация: 12.06.2011
Сообщений: 111
13.06.2011, 07:45  [ТС]
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

go, переписал твое под своё:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{Задание №3. Максимальный элемент списка.}
Procedure MaxElem(A:Link1);
Var
   T:Link1;
   Max:Integer;
Begin
     T:=A;
     Max:=T^.Info;
     While T<>Nil do begin
     If T^.Info>Max then Max:=T^.Info;
     T:=T^.Next;
     end;
     Writeln('Максимальный элемент списка: ',Max);
end;

Все равно какие то непонятные числа выдает =\\\ Я ведь примерно так поначалу и писал. Может у меня паскаль глюченый какой то?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
13.06.2011, 10:31
Vlad10, посмотрел ваш код, конечно же ошибка
в создании списка, вы ему отправляете пустой указатель, а потом пытаетесь его разыменовать
первое звено нужно создать самому в main-функции

Добавлено через 1 минуту
Цитата Сообщение от милания Посмотреть сообщение
это продолжение?
нет никакой разницы, просто строка, считайте предложением, но уже все запятые станут точками
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2011, 10:31
Помогаю со студенческими работами здесь

Найти средний элемент, минимальный элемент и максимальный элемент матрицы
Здравствуйте,помогите решить задачу. Задана двумерная матрица размерностью 12x12 элементов заполненная случайными числами из диапазона ....

В массиве целых чисел N найти максимальный элемент и заменить им первый элемент
В массиве целых чисел N найти максимальный елемент и этим заменить первый елемент (элемент=цифры) Помогите пожалуйста=)

Найти максимальный элемент и минимальный элемент массива и поменять их местами.
2)В массиве М(45) лежат целые числа. Найти максимальный элемент (первый) и минимальный элемент (первый) и поменять их местами.

Найти максимальный элемент одномерного массива и поменять местами второй элемент с максимальным
Здравствуйте! пожалуйста помогите сделать! Заранее большое спасибо!!! 1. Написать программу реализации линейного алгоритм приема...

Найти максимальный элемент и строку матрицы, содержащую этот элемент, поменять с первой строкой
1.Дана матрица размерности N на M. Найти максимальный элемент и строку, содержащую этот элемент, поменять с первой строкой. 2.Дана...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru