Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 24.04.2016
Сообщений: 16

Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)

25.11.2016, 19:33. Показов 3812. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать список из целых чисел.Поменять в списке местами максимальный и минимальный
элементы
Проблемы c процедурами Pos и Chang: пос находит макс и мин, я проверял, но вот Chang менять не хочет, хотя по идее все правильно. И еще вопрос можно ли этот код как то оптимизировать? Со списком же работаем по элементно, т, е мы сначало должны пройти и найти макс мин, а потом еще раз пройти и заменить все максимальные и минимальные элементы?
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
uses tqueueIn;
var head,tail:tqueue;
name:string;
x,y:integer;
 
procedure CopyFileToQueue(name:string;var h,t:tqueue);
var f:text;
    a:integer;
    begin
    assign(f,name); reset(f);
    while not eof(f) do 
    begin read(f,a);
    Add(h,t,a); end;
    close(f);
    end;
 
procedure CopyQueueToFile(name:string;var h,t:tqueue);
var f:text;
    a:integer;
    begin
    assign(f,name);rewrite(f);
    while head<>nil do 
    begin a:=take(h,t);
    write(f,a,' '); end;
    close(f);
    end;
    
 procedure PosMM(var head,tail:tqueue);
    var h,t:tqueue;
    max,min,temp:integer;
      a:integer;
      begin 
      InitQueue(h,t);
      min:=maxInt;
      max:=0;
      while head<>nil do begin
      a:=Take(head,tail);
   
      if (a>max) or (a<min) 
      then begin Add(h,t,a); 
      if a>max then max:=a 
      else min:=a end
      else Add(h,t,a)
      end;
      head:=h; tail:=t;
      end;
      
      procedure ChangMM(var head,tail:tqueue);
      var h,t:tqueue;
      a:integer;
      begin 
      InitQueue(h,t);
      PosMM(head,tail);
      while head<>nil do begin
      a:=Take(head,tail);
      if (a=max) or (a=min)
      then begin if (a=max) then Add(h,t,min)
      else Add(h,t,max); end
      else Add(h,t,a);
      end;
      head:=h; tail:=t;
      end;
      
begin 
write('введите имя файла ');readln(name);
InitQueue(head,tail);
CopyFileToQueue(name,head,tail);
{PosMM(head,tail);}
ChangMM(head,tail);
CopyQueueToFile(name,head,tail);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2016, 19:33
Ответы с готовыми решениями:

Нельзя преобразовать тип byte к System.Drawing.Color
uses graphABC, crt; var color:byte; begin randomize; repeat color:=random(15); PutPixel(Random(100),random(100),color); ...

Нельзя преобразовать тип function(a: integer;b: integer):integer к real
unit matr1; interface type matr2=array of real; matr3=array of real; procedure sum (A:matr3;var B:matr2; n:integer); ...

Нельзя преобразовать тип function:integer к integer
Есть такой кусок кода, не могу сделать вот эту операцию... work:=work+a; function work (a:mas;k:byte) : integer; const max=50; ...

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.11.2016, 10:58
Чтобы поискать ошибки людям наверняка понадобится модуль tqueueIn
0
0 / 0 / 1
Регистрация: 24.04.2016
Сообщений: 16
26.11.2016, 16:35  [ТС]
Сам модуль выглядит вот так
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{Модуль для очереди}
Unit tqueueIn;
Interface 
type 
tqueue=^que;
que = record
inf:integer;
next:tqueue;
end;
 
procedure Add(var head, tail:tqueue;item:integer);
function Take (var head, tail: tqueue):integer;
function Empty(head:tqueue):boolean;
function peek (head: tqueue): integer;
function Pop(var head: tqueue): integer;
procedure initqueue(var head,tail:tqueue);
{Procedure CopyFileToQueue(name:string;var h,t:tqueue);
procedure CopyQueueToFile(name:string;var h,t:tqueue);}
procedure CopyFileToFile(name1,name2:string);
 
 
implementation 
 
 
var head,tail:tqueue;
 
{Добавление элемента в очередь}
procedure Add(var head, tail:tqueue;item:integer);
var r:tqueue;
begin 
new(r);
r^.inf:=item;r^.next:=nil;
if head=nil
then begin head:=r; tail:=r; end
else begin tail^.next:=r; tail:=r; end;
end;
 
{Выборка верхнего элемента из очереди}
function Take (var head, tail: tqueue):integer;
var i: integer;
r: tqueue;
begin
r:= head; 
i:=r^.inf;
head:=head^.next;
if head=nil then
tail:=nil;
dispose(r);
take:=i;
end;
 
{}
function Empty(head:tqueue):boolean;
begin 
if head=nil then 
Empty:= true else
Empty :=false;
end;
 
 
{Функция просмотра верхнего элемента:}
function peek (head: tqueue): integer;
begin Peek := head^.inf; end;
 
{Функция выбора верхнего элемента из стэка:}
function Pop(var head: tqueue): integer;
var i:integer;
r:tqueue;
begin
r:=head;
i:=r^.inf;
head:= r^.next;
dispose(r);
pop:=i;
end;
 
{Инициализация очереди}
procedure initqueue(var head,tail:tqueue);
begin head:=nil;tail:=nil; end;
 
{Процедура копирует один фаил в другой}
procedure CopyFileToFile(name1,name2:string);
var f,d:text;
a:integer;
begin 
assign(f,name1); reset(f);
assign(d,name2);rewrite(d);
while not eof(f) do begin 
read(f,a); write(d,a,' '); end;
close(f); close(d);
end;
 
 
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2016, 16:35
Помогаю со студенческими работами здесь

Тип set of byte
Здравствуйте. Написал программу, и при выполнении выдает ошибку: Попытка присвоить значение типа integer выражение типа set of...

UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 - invalid start byte
Добрый день При вызове скрипта вылетает такая ошибка: &quot;UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131:...

'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Работаю с библиотеками PIL и telebot В чем может быть проблема ? Ошибка - 'utf-8' codec can't decode byte 0xff in position 0:...

Перевести строку, содержащую данные массива байт (byte[]) в byte[]
Приветствую. Есть такая строка - &quot;&quot; Как её перевести в массив байт? 1. Допустим, что первый шаг это через рег. выражения...

Invalid byte 1 of 1-byte UTF-8 sequence - ошибка (Intellij idea)
Есть небольшой проект, точнее, только зачаток, запускается нормально, но при сборке в jar ругается, как в заголовке. Jar-файл появляется,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru