Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307

Ошибка: "нет индексного свойства по умолчанию для типа byte"

29.03.2018, 12:02. Показов 1541. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
uses  crt    { uses список использумых модулей,библиотека}{cathod ray tube модуль для работы с текстовой информацией на дисплее,клавиатуре};
const m=240;{Раздел для объявления констант. Константы - почти как переменные, но их значения нельзя поменять во время работы программы. }
type 
 massiv = array[1..m] of integer; {type используется при создании пользовательских типов данных}{завод относится}{диапозон индексов от1 до м=255}{тип элементов}{к машине}
var n,z3:integer;{глобальные переменные}{перменные с целыми числами с фиксированной заяптой}
    {файловая переменная}{тип текстового файла}
         a:massiv;{заводу мы задаем другую переменную для использования в не глобальном параметре}{}
    
    procedure RandomMas(na:byte; var a:massiv);//заполнение массива
var i:integer;   
begin //тело
randomize; 
 
for i := 1 to na do //цикл
  begin
  
    a[i] := random(1,99);// присвоение от 1 до 99
  end;
end;
 
procedure printMas(na: byte;  a:massiv); //вывоести мас
var 
  i:byte;
    begin
    for i := 1 to na do 
    write(a[i]:3);
    writeln;
    end; 
    
    
    
   procedure Sortvybora(na: byte; var a: massiv); // сортировка выбора              for i:=0 to n-1 do begin   If  nmin[i]>10 then
  
 
var
  i,j,nmin,c : byte;
begin
 
for i:=1 to na-1 do   //сравнение и перестановка
 If  (nmin>10) and (nmin<100) then  writeln (nmin[i]:4);
nmin := i;   //нашли запомнили
for j:=i+1 to na do  //поиск мин знач
 
if a[j]<a[nmin] then nmin:=j; //сравнение
if nmin <> i then  begin //сравнение
c:=a[i];//запминает пересылка элемента
a[i]:=a[nmin];//
a[nmin]:=c;//перестановка если нужна
 
end;end;
 
 
    
   
    
 
 
 
 
begin  
RandomMas(m,a);write('------------------------------------------------------------------------------------------------------------------------');write('                                          массив рандомный');writeln;writeln('------------------------------------------------------------------------------------------------------------------------');
printMas(m,a);writeln;writeln;write('------------------------------------------------------------------------------------------------------------------------');writeln('                  массив в котором сохранено местоположение и выводятся только двузнач числа');writeln('------------------------------------------------------------------------------------------------------------------------');
 
Sortvybora(m,a);
 
writeln;writeln;write('------------------------------------------------------------------------------------------------------------------------');write('                                массив отсартированный по возврастанию');writeln;writeln('------------------------------------------------------------------------------------------------------------------------');
printMas(m,a);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2018, 12:02
Ответы с готовыми решениями:

Ошибка: Нет индексного свойства по умолчанию для типа char
program kajdiuvtoroi; var a, b : string; begin writeln('введите строку:'); readln (a); b := delete(a); writeln (a); ...

Нет индексного свойства по умолчанию для типа real
uses graphABC; type point = record x, y: integer; end; var doodler, background, platform: picture; Left,...

Нет индексного свойства по умолчанию для типа integer
var n, m, x, y, a, i:integer; begin readln(n,m); for i:=1 to n do a:=i; for i:=1 to m do begin readln(x,y); ...

7
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.03.2018, 12:14
А чем программа представленная мною не устроила?
Отсортировать в массиве только двузначные числа , а однозначные оставить на своих местах

Вы же просили совместить представленный volvo код с вашим.
Что и было сделано!

Ещё и было упрощено разукрашивание в вашем стиле…
Всё за зря ;–)
0
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
29.03.2018, 12:15  [ТС]
дело в том что нужно в процедурах все и именно на языке паскаль ( можете подправить в коде что не так?
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.03.2018, 12:21
Цитата Сообщение от kalanda Посмотреть сообщение
можете подправить в коде что не так?
Подправить то, безусловно, можно…

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
const m=240;
 
procedure RandomMas(na:byte; var a : array of Integer) := a := ArrRandomInteger(na, 1, 99);
 
procedure Sortvybora(var r : array of Integer);
begin
  var a := r;
  r := a.Select((v, i) -> v in [10 .. 99] ? a.Where(z -> z in [10 .. 99]).OrderBy(z -> z).ElementAt(a.Take(i).Count(x -> x in [10 .. 99])) : v).ToArray();
end;
 
procedure WriteCenter(s : String) := WriteLn(s:60+s.Length div 2);
 
begin  
  randomize; 
  var a : array of Integer;
  RandomMas(m, a);
  WriteLn('-'*120);WriteCenter('массив рандомный');WriteLn;WriteLn('-'*120);
  a.Println;
  WriteLn;WriteLn;
  WriteLn('-'*120);WriteCenter('массив в котором сохранено местоположение и выводятся только двузнач числа');WriteLn('-'*120);
  Sortvybora(a);
  WriteLn;WriteLn;
  WriteLn('-'*120);WriteCenter('массив отсартированный по возврастанию');WriteLn;WriteLn('-'*120);
  a.Println;
end.
Вот вам процедуры!
1
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
29.03.2018, 12:24  [ТС]
спасиб за код , но не могли бы вы посмотреть мой , я вашим воспользуюсь но преподователь может не принять
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
29.03.2018, 15:10
Лучший ответ Сообщение было отмечено kalanda как решение

Решение

Цитата Сообщение от kalanda Посмотреть сообщение
не могли бы вы посмотреть мой
Посмотрел. Исправил:

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
uses crt    { uses список использумых модулей,библиотека}{cathod ray tube модуль для работы с текстовой информацией на дисплее,клавиатуре};
 
const
  m = 240;{Раздел для объявления констант. Константы - почти как переменные, но их значения нельзя поменять во время работы программы. }
 
type
  massiv = array[1..m] of integer;{type используется при создании пользовательских типов данных}{завод относится}{диапозон индексов от1 до м=255}{тип элементов}{к машине}
 
 
procedure RandomMas(na: byte; var a: massiv);//заполнение массива
var
  i: integer;
begin//тело
  randomize; 
  
  for i := 1 to na do //цикл
  begin
    
    a[i] := random(1, 99);// присвоение от 1 до 99
  end;
end;
 
procedure printMas(na: byte; a: massiv);//вывоести мас
var
  i: byte;
begin
  for i := 1 to na do 
    write(a[i]:3);
  writeln;
end;
 
 
 
procedure Sortvybora(na: byte; var a: massiv);// сортировка выбора
var
  i, j, nmin, c: byte;
begin
  for i := 1 to na do
  begin
    if a[i] < 10 then continue;
    nmin := i;
    for j := i + 1 to na do
      if (a[j] > 9) and (a[j] < a[nmin]) then nmin := j;
    
    if nmin <> i then begin//сравнение
      c := a[i];//запминает пересылка элемента
      a[i] := a[nmin];//
      a[nmin] := c;//перестановка если нужна
    end; 
  end;
end;
 
 
 
 
 
 
 
var
  //n, z3: integer;{глобальные переменные}{перменные с целыми числами с фиксированной заяптой}
    {файловая переменная}{тип текстового файла}
  a: massiv;{заводу мы задаем другую переменную для использования в не глобальном параметре}{}
 
 
begin
  RandomMas(m, a);
  write('------------------------------------------------------------------------------------------------------------------------');
  write('                                          массив рандомный');
  writeln;
  writeln('------------------------------------------------------------------------------------------------------------------------');
  printMas(m, a);
  writeln;
  writeln;
  write('------------------------------------------------------------------------------------------------------------------------');writeln('                  массив в котором сохранено местоположение и выводятся только двузнач числа');writeln('------------------------------------------------------------------------------------------------------------------------');
  
  Sortvybora(m, a);
  
  writeln;
  writeln;
  write('------------------------------------------------------------------------------------------------------------------------');write('                                массив отсартированный по возврастанию');writeln;writeln('------------------------------------------------------------------------------------------------------------------------');
  printMas(m, a);
end.
Теперь нормально сортирует массив...
1
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
29.03.2018, 15:34  [ТС]
огромное спасибо , работает лучше чем в задании))))

Добавлено через 20 минут
А как сделать чтобы числа больше 100 не сортировало так же кау и однозначные?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
29.03.2018, 16:45
Лучший ответ Сообщение было отмечено kalanda как решение

Решение

Изменить процедуру сортировки вот так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure Sortvybora(na: byte; var a: massiv);// сортировка выбора
var
  i, j, nmin, c: byte;
begin
  for i := 1 to na do
  begin
    if (a[i] < 10) or (a[i] > 99) then continue;
    nmin := i;
    for j := i + 1 to na do
      if (a[j] > 9) and (a[j] < 100) and (a[j] < a[nmin]) then nmin := j;
    
    if nmin <> i then begin//сравнение
      c := a[i];//запминает пересылка элемента
      a[i] := a[nmin];//
      a[nmin] := c;//перестановка если нужна
    end; 
  end;
end;
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2018, 16:45
Помогаю со студенческими работами здесь

Нет индексного свойства по умолчанию для типа integer
Program Massivi; uses crt; Type Digit=array of integer; Matrix=array of byte; var i,j,s,k,c: integer; A: Digit; B:Matrix; ...

Нет индексного свойства по умолчанию для типа integer
В общем дошел до процедур и функций и решил попрактиковаться в них, написав простую программу,которая формирует двухмерный массив и...

Нет индексного свойства по умолчанию для функционального типа
Ошибка в строке 42, помогите исправить. За ранее спасибо program test; const s0 = '00000001'; var s, ss: string; ...

Ошибка "Нет индексного свойства по умолчанию для типа char"
Ошибка в программе var a: string; b: char; i,j,k,i1: integer; begin writeln ('Введите текст '); readln(a); ...

Нет индексного свойства по умолчанию для типа integer (поиск крайних точек)
Всю плешь выела чёртова задача. День думал над тем как реализовать, день писал и переписывал с нуля. В общем, помогите, ребятки. Итак,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru