Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 07.05.2014
Сообщений: 32

Access Violation в подпрограмме

07.05.2014, 20:58. Показов 626. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера, не сильно разбираюсь в Deplhi, почти написал программу, которая по заданным числам массива из 11 элементов, сначала располагает все положительные числа в порядке возрастания, а затем нули и отрицательные в порядке убывания. При выводе массива, выводит ошибку 'Access Violation at 0x30303030:read of adress 0x30303030'.
Однако выводится 4 числа, а на 5-м выпадает, но если задать, что в массиве 12 элементов, всё нормально будет.

Delphi
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
var
  A: array [1 .. 11] of real;
  i: integer;
 
Procedure Ubyv(var A: array of real);
var
  L, M: integer;
  K: real;
begin
  for L := 1 to 15 do
    for M := 1 to 10 do
      if A[M] < A[M + 1] then
      begin
        K := A[M];
        A[M] := A[M + 1];
        A[M + 1] := K;
      end;
end;
 
Procedure Vozrast(var A: array of real);
var
  L, M: integer;
  K: real;
begin
  for L := 1 to 15 do
    M := 1;
  for M := 1 to 4 do
    if A[M] > A[M + 1] then
    begin
      K := A[M];
      A[M] := A[M + 1];
      A[M + 1] := K;
    end;
end;
 
begin
  i := 1;
  writeln('Vvedite chisla');
  for i := 1 to 11 do
    Readln(A[i]);
  Ubyv(A);
  Vozrast(A);
  for i := 1 to 11 do
    Write(A[i]:5:2);
  Readln;
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2014, 20:58
Ответы с готовыми решениями:

AssignFile и access violation
Подскажите, в каких случаях может возникать ошибка access violation в строке с AssignFile? // Сохранение ответа procedure...

Access violation at adress
Собственно говоря, вот элемент кода, ошибка при попытке выполнить сроку setlength(masofFD2, fv2); for i:=0 to length(arofd)-1 do ...

Access violation при сравнении изображений
делаю программу для сравнения изображений перевожу в битмапы и потом смотрю по цвету пикселя картинки одного размера вот код ...

7
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
07.05.2014, 21:05
Цитата Сообщение от zllo Посмотреть сообщение
for L := 1 to 15 do
От какой балды это 15 взялось ?
0
2 / 2 / 0
Регистрация: 07.05.2014
Сообщений: 32
07.05.2014, 21:10  [ТС]
15, чтобы он не 1 раз цикл провел по I, а 15 раз, грубо говоря цикл-повторитель. На Фортране учили, там это работало.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
07.05.2014, 21:16
Цитата Сообщение от zllo Посмотреть сообщение
не 1 .., а 15 раз
Я и спрашиваю - почему именно 15 ? Почему не 3, не 200, не 100500 ?)

Добавлено через 1 минуту
Цитата Сообщение от zllo Посмотреть сообщение
for M := 1 to 4 do
А здесь 4 от какой балды ? Потому что Васик учили и там это работало ?)

Добавлено через 39 секунд
Цитата Сообщение от zllo Посмотреть сообщение
M := 1;
А это зачем ?
0
2 / 2 / 0
Регистрация: 07.05.2014
Сообщений: 32
07.05.2014, 21:22  [ТС]
mss, в Фортране брал по 10-20, тут решил 15 взять. Сейчас пробовал увеличивать его, потом уменьшать, дошел 1 to 1, вывел 10 чисел, чем число L больше, тем меньше чисел он выводит. Но если это число L я уберу, тогда как мне лучше сделать, чтобы он не 1 раз прошел I, а несколько раз?

Добавлено через 2 минуты
mss, там 4 идет от условия задачи, мне нужно чтобы первые 5 чисел располагались по возрастанию. После первой подпрограммы он весь по убыванию, а только первые 5 должны быть по возрастанию.
М := 1, да что-то химичил раньше, забыл убрать)
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
07.05.2014, 21:25
Цитата Сообщение от zllo Посмотреть сообщение
как мне лучше сделать
Лучше взять учебник и проштудировать алгоритм пузырьковой сортировки.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
07.05.2014, 21:25
Цитата Сообщение от zllo Посмотреть сообщение
A: array [1 .. 11] of real;
Цитата Сообщение от zllo Посмотреть сообщение
Procedure Ubyv(var A: array of real);
Имхо слишком вольно подсовывать статический массив в качестве открытого массива.
0
07.05.2014, 21:28

Не по теме:

слишком вольно подсовывать статический массив в качестве открытого массива
И об этом в учебнике тоже написано)
Но штудировать учебник - не царское дело

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2014, 21:28
Помогаю со студенческими работами здесь

Access Violation при BitMap.Create
Доброго Времени Суток! У меня в коде используется двусвязный список типа Tinf=record {тип данных, который будет храниться в элементе...

Создание COM-сервера.Ошибка Access violation
Возникла проблема при создании COM-сервера. Поэтапно: 1.Создаю библиотеку ActiveX Library 2.Создаю COM-объект.В нем создаю два...

Delphi XE5 + TComPort 4.13 = access violation
Помогите разобраться с проблемой. В основной форме вызываю настройки Com порта, тут же появляется ошибка - Access violation at...

Access violation at address при запуске потоков
Всем привет, запускаю несколько потоков но получаю ошибку http://************/13xzpg Код запуска потоков procedure...

TList. Ошибка Access Violation при создании.
Имеется такая структура данных: type TMyList = class private FMyList: TList; public property MyList: TList read FMyList...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru