Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 36

Ошибка в сортировке массива методом "Обмена"

21.10.2012, 13:05. Показов 463. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа не работает. Помогите найти где ошибка. ВВожуц количество массива,к примеру, 9, дальше ввожу A[I]= в соответствии с количеством массива (9) и после этого вылетает с ошибкой "Ошибка 201: Ошибка проверки диапазона". ЧТо делать? Напишите как правильно сделать

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
96
97
program f1;
uses crt;
   var
        A:array[2..100] of integer;
        Z,i,N,Error,F,e:integer;
        Ch:char;
        label L1,L2;
begin
  L1:clrscr;
    e:=5;
      repeat
         gotoxy(4,e);
             write('введите количества массива от 2 до 100');
      {$i-}
         readln(N);
         Error:=IOresult;
      {$i+}
          if (Error<>0) or (N<2) or (N>2) then
 begin
          textcolor(lightred);
             writeln('Ошибка в значении элемента сортировки массива. Повторите ввод');
          textcolor(white);
                  e:=e+2;
end;
           until (Error=0) and (N>=2) and (N<=100);
 
            clrscr;
              gotoxy(28,1);
           textattr:=lightred;
                writeln('Внимание!');
              gotoxy(8,2);
                writeln('Значение элемента массива должна быть на интервале от - 10000 до 10000 ');
                     e:=3;
            textattr:=white;
                 for i:=1 to N do
 begin
          repeat
               gotoxy(1,e);
                   write('введите A[',i,']:');
 {$i-}
 
          readln(A[i]);
           e:=e+1;
           error:=IOResult;
 
 {$i+}
 
           if (A[I]>10000) or(A[i]<-10000) or (error<>0) then
 begin
                gotoxy(2,e);
                   textattr:=lightred;
                     writeln('Ошибка в значении элемента массива. Повторите ввод');
                  textattr:=white;
                        e:=e+1;
end;
              until (A[I]<=10000) and (A[i]>=-10000) and (error=0);
end;
 
          clrscr;
               gotoxy(5,2);
                  textattr:=white;
                       write('Результаты');
                gotoxy(2,5);
                        writeln('Исходный массив');
                gotoxy(2,7);
                             for i:=1 to N do
                         write (A[I],''); 
                 repeat
                     F:=0;
                         for i:=1 to N-1 do 
 begin
                         if A[I] > A[I+1] then
 begin
                   Z:=A[i];
                   A[I]:=A[i+1];
                    A[I+1]:=Z;
                     F:=1;
 end;
 end;
                     until (F=0);
                       textattr:=yellow;
                    gotoxy(2,10);
                             write('Окончательный массив');
                    gotoxy(2,12);
                            for i:=1 to N do
                              write (A[i], '');
                        textattr:=white;
                   gotoxy(2,21);
                            write('Хотите еще раз?');
 L2: case readkey of
 #89: goto L1;
 #121: goto L1;
 #78: exit;
 #110: exit;
 end;
 goto L2;
 end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2012, 13:05
Ответы с готовыми решениями:

Ошибка в сортировке массива методом прямого выбора
Нужно сделать сортировку массива методом прямого выбора. Вот что написал: #include &lt;stdio.h&gt; #define MAS10 10 void...

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

Ошибка в сортировке методом пузырька
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2012, 13:05
Помогаю со студенческими работами здесь

Ошибка в сортировке методом выбора
Может сделаете замечания... посмотрите, начиная с комента &quot;метод сортировки&quot;... //#include &lt;stdlib.h&gt; #include &lt;conio.h&gt;...

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

сортировка массива методом обмена на методом слияния
Здравствуйте! Есть сортировка массива методом обмена (по возрастанию и убыванию) с бинарным поиском задаваемого числа.Нужно заменить...

Ошибка при сортировке односвязного списка методом пузырька
Здравствуйте, возникла проблема. Нужно отсортировать элементы структуры односвязного списка. Воспользовался методом пузырька (код ниже)....

Сортировка массива. Упорядочить нечетные элементы массива по возрастанию методом обмена
Упорядочить одномерный массив по возрастанию, методом обмена. (по возрастанию должны быть толбко нечётные элементы)


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
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