Перейти к содержанию

bazadima

Пользователи
  • Постов

    3
  • Зарегистрирован

  • Посещение

Достижения bazadima

Новичок

Новичок (1/14)

  • Первое сообщение
  • Неделя в сообществе
  • One Month Later
  • Год в сообществе
  • Топикстартер

Последние значки

0

Репутация

  1. uses crt; const n = 1000; n1 = 10000; var a:array[1..n] of integer; i,j,x,buf,m,l1,l11,l111,l2,l22,l222,l3,l33,l333,l4,l44,l444,l5,l55,l555,l6,l66,l666:integer; d,k:byte; begin clrscr; {bubble 1000} for i:=1 to n do a:=random(1000); l1:=0; l11:=0; for i:=1 to n-1 do for j:=i+1 to n do if a>a[j] then begin l1:=l1+1; buf:=a; a:=a[j]; a[j]:=buf; l11:=l11+3; end; l111:=l1+l11; {bubble 10000} for i:=1 to n1 do a:=random(1000); l2:=0; l22:=0; for i:=1 to n1-1 do for j:=i+1 to n1 do if a>a[j] then begin l2:=l2+1; buf:=a; a:=a[j]; a[j]:=buf; l22:=l22+3; end; l222:=l2+l22; {shaker 1000} for i:=1 to n do a:=random(1000); d:=1; i:=0; for k:=n-1 downto 1 do begin i:=i+d; l33:=l33+1; for j:=1 to k do begin if (A-A[i+d])*d>0 then begin l3:=l3+1; x:=A; A:=A[i+d]; A[i+d]:=x; l33:=l33+1; end; i:=i+d; l33:=l33+1; end; d:=-d; l33:=l33+1; end; l333:=l3+l33; {shaker 10000} for i:=1 to n1 do a:=random(1000); d:=1; i:=0; for k:=n1-1 downto 1 do begin i:=i+d; l44:=l44+1; for j:=1 to k do begin if (A-A[i+d])*d>0 then begin l4:=l4+1; x:=A; A:=A[i+d]; A[i+d]:=x; l44:=l44+1; end; i:=i+d; l44:=l44+1; end; d:=-d; l44:=l44+1; end; l444:=l4+l44; {выбор 1000}; write('количество элементов массива '); for i:=1 to n do a:=random (1000); l5:=0; l55:=1; for k:=n downto 2 do begin m:=1; for i:=2 to k do if A>A[m] then m:=i; x:=A[m]; A[m]:=A[k]; A[k]:=x; l5:=l5+1; l55:=l55+4; end; l555:=l5+l55; {выбор 10000} write('количество элементов массива '); for i:=1 to n1 do a:=random (1000); l6:=0; l66:=1; for k:=n1 downto 2 do begin m:=1; for i:=2 to k do if A>A[m] then m:=i; x:=A[m]; A[m]:=A[k]; A[k]:=x; l6:=l6+1; l66:=l66+4; end; l666:=l6+l66; writeln (' |bub1000|bub10000|shk1000|shk10000|vib1000|vib10000|'); writeln ('сравнений |',l1,'|',l2,'|',l3,'|',l4,'|',l5,'|',l6,'|'); writeln ('присваив |',l11,'|',l22,'|',l33,'|',l44,'|',l55,'|',l66,'|'); writeln ('операций |',l111,'|',l222,'|',l333,'|',l444,'|',l555,'|',l666,'|'); readkey; end. помогите снова найти ошибку, пишет где жирным выделено выход за границы диапозона 1..1000
  2. uses crt; const n=1000; n1=10000; var A:array[1..10001] of integer; p1,p2,p3,p4,p5,p6,p7,p8,i,b1,b2,b3,left,right,m,t:integer; begin clrscr; writeln ('введите ключ 0-1000'); read (b1); writeln ('введите ключ 0-10000'); read (b2); writeln ('возьмем ключ равный 10001, для неудачного поиска'); read (b3) {бинарный поиск на 1000 элементов} for i:=1 to n do a:=i; Left:=0; Right:=N; p1:=2; while Left begin m:=(Left+Right) div 2; p1:=p1+1; if A[m] else Right:=m; end; {бинарный поиск на 1000 элементов} for i:=1 to n do a:=i; Left:=0; Right:=N; p2:=2; while Left begin m:=(Left+Right) div 2; p2:=p2+1; if A[m] else Right:=m; end; {бинарный поиск на 10000 элементов} for i:=1 to n do a:=i; Left:=0; Right:=N; p3:=2; while Left begin m:=(Left+Right) div 2; p3:=p3+1; if A[m] else Right:=m; end; {бинарный поиск на 10000 элементов} for i:=1 to n do a:=i; Left:=0; Right:=N; p3:=2; while Left begin m:=(Left+Right) div 2; p4:=p4+1; if A[m] else Right:=m; end; {последовательный поиск на 1000} for i:=1 to n do a:=i; p5:=1; A[N+1]:=b1; {стоппер} i:=1; while A<>b1 do begin i:=i+1; p5:=p5+1; end; {последовательный поиск на 1000} for i:=1 to n do a:=i; t1:=1; A[N+1]:=b3; {стоппер} i:=1; while A<>b3 do begin i:=i+1; p6:=p6+1; end; {последовательный поиск на 10000} for i:=1 to n do a:=i; t1:=1; A[N+1]:=b2; {стоппер} i:=1; while A<>b2 do begin i:=i+1; p7:=p7+1; end; {последовательный поиск на 10000} for i:=1 to n do a:=i; t1:=1; A[N+1]:=b3; {стоппер} i:=1; while A<>b3 do begin i:=i+1; p8:=p8+1; end; writeln ('удачная'); writeln ('|bin1000|bin10000|posl1000|posl10000|') writeln ('|',p1,' |',p3,' |',p5,' |',p7,' |'); writeln ('неудачная'); writeln ('|bin1000|bin10000|posl1000|posl10000|') writeln ('|',p2,' |',p4,' |',p6,' |',p8,' |'); readkey; end. в самом начале выходит ошибка "ожидался оператор" при вводе for i:=1 to n do a:=i; не подскажете почему
×
×
  • Создать...