Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
777ustos777
1 / 1 / 2
Регистрация: 19.01.2017
Сообщений: 36
1

Выдает ошибку:Нельзя преобразовать тип array . of integer к array . of integer

06.03.2018, 00:27. Просмотров 930. Ответов 4
Метки нет (Все метки)

Program1.pas(44) : Нельзя преобразовать тип array [1..6] of array [1..8] of integer к array [1..6] of array [1..8] of integer
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
program abc;
 
uses crt;
uses a;
 
type
  Matrix = array[1..6, 1..8] of integer;
  arr = array[1..30] of integer;
var
  doska: Matrix;
  dostypxod: arr;
  i, j, p, d, kb, kch, kdb, kdch, chx, r: integer;
 
function vivod() : integer;
var
  k, b: integer;
begin
  clrscr;
  write('  1 2 3 4 5 6 7 8');
  writeln;
  for k := 1 to 6 do 
  begin
    write(k, ' ');
    for b := 1 to 8 do 
    begin
      write(doska[k, b], ' ');
    end;
    writeln;
  end;
end;
 
function proverka_rubki() : integer;
var
  k, b, r: integer;
begin
  if (kdb = 0) and (kdch = 0)
  then
  begin
    r := 0;
    for k := 1 to 6 do 
    begin
      for b := 1 to 8 do 
      begin
        proverka_rubki_vniz_pravo_op(k, b, chx, r, doska, dostypxod);
        proverka_rubki_vniz_levo_op(k, b, chx, r, doska, dostypxod);
        proverka_rubki_verx_levo_op(k, b, chx, r, doska, dostypxod);
        proverka_rubki_verx_pravo_op(k, b, chx, r, doska, dostypxod);
      end;     
    end;
  end
else
end;
 
begin
  r := 0;
  chx := 1;
  kb := 8;
  kch := 8;
  { for i := 1 to 4 do 
    begin
      doska[1, i * 2 - 1] := 2;
      doska[2, i * 2] := 2;    
      doska[5, i * 2 - 1] := 1;
      doska[6, i * 2] := 1;    
    end;  }
  //doska[3, 4] := 2;
  doska[3, 2] := 1;
  doska[2, 3] := 2;
  vivod();
  repeat
    vivod();
    proverka_rubki();
    writeln(dostypxod[1]);    
    readln;
  until (kb < 1) or (kch < 1);
end.
файл а
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
unit a;
 
interface
 
type
  Matrix = array[1..6, 1..8] of integer;
  arr = array[1..30] of integer;
 
procedure proverka_rubki_vniz_pravo_op(k, b, chx, r: integer; doska: matrix; dostypxod: arr);
procedure proverka_rubki_vniz_levo_op(k, b, chx, r: integer; doska: matrix; dostypxod: arr);
procedure proverka_rubki_verx_levo_op(k, b, chx, r: integer; doska: matrix; dostypxod: arr);
procedure proverka_rubki_verx_pravo_op(k, b, chx, r: integer; doska: matrix; dostypxod: arr);
implementation
 
procedure proverka_rubki_vniz_pravo_op(k, b, chx, r: integer; doska: matrix; dostypxod: arr);
begin
  if ((doska[k, b] = chx) or (doska[k, b] = chx + 2)) and (k < 5) and (b < 7)
        then
  begin
    if (doska[k + 1, b + 1] <> chx) and (doska[k + 1, b + 1] <> 0) and (doska[k + 2, b + 2] = 0)  
    then begin
      if r > 0 
            then
      begin
        r := r + 1;
      end
            else
      begin
        dostypxod[1] := k * 1000 + b * 100 + (k + 2) * 10 + b + 2;
        r := 1;
      end;
    end
    else writeln(k, b);
  end;  
end;
далее в файле все процедуры повторяются меняется лишь условие.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2018, 00:27
Ответы с готовыми решениями:

Ошибка : Нельзя преобразовать тип array [1..8] of integer к integer
Дана целочисленная матрица В размером 5х8. Получить массив С из 0 и 1, в котором Ci=1, если в i –ой...

Нельзя преобразовать тип array [1.10] of integer к integer
Пытаюсь преобразовать программный код Mathcad в Паскаль Тут же выходит ошибка, - Нельзя...

Нельзя преобразовать тип integer к array [1.8] of integer
Естественное слияние.pas(116) : Нельзя преобразовать тип integer к array of integer program cal;...

Нельзя преобразовать тип function(z: integer;w: integer;e: integer): real к real
program pract18; uses crt; var x,a,i,k:integer; y:real; function prm1 (z,w,e:integer):real; ...

Ошибка в программе: Нельзя преобразовать тип array [0..10] of real к array of real
program SimpsonIntegral_TabularedFunc_RegularGrid; { Вычисление интеграла } function...

4
JuriiMW
2405 / 1336 / 1725
Регистрация: 10.12.2014
Сообщений: 5,246
06.03.2018, 07:43 2
Лучший ответ Сообщение было отмечено 777ustos777 как решение

Решение

В первом:
Pascal
6
7
8
//type
//  Matrix = array[1..6, 1..8] of integer;
//  arr = array[1..30] of integer;
1
777ustos777
1 / 1 / 2
Регистрация: 19.01.2017
Сообщений: 36
06.03.2018, 11:16  [ТС] 3
спасибо
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
27565 / 18465 / 7298
Регистрация: 22.10.2011
Сообщений: 32,456
Записей в блоге: 6
06.03.2018, 12:18 4
Цитата Сообщение от 777ustos777 Посмотреть сообщение
Pascal
1
2
3
4
program abc;
 
uses crt; // <--
uses a; // <--
С каких пор такое вообще компилируется?
0
JuriiMW
2405 / 1336 / 1725
Регистрация: 10.12.2014
Сообщений: 5,246
06.03.2018, 12:24 5
volvo, сам удивился, но оказывается в PABC.NET теперь такое можно ;–)
Pascal
1
2
3
4
5
uses arrays;
uses graphabc;
begin
  WriteLn('Абалдеть! Да?');
end.
Вполне себе рабочий примерчик ;–)
0
06.03.2018, 12:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2018, 12:24

Ошибка в программе: Нельзя преобразовать тип array [0..8] of real к array of real
program LagrangeInterp_RegularInGrid_RegularOutGrid; { Интерполяция } procedure LagrangeInterp...

Нельзя преобразовать тип integer к PictureABC
program beta; uses ABCobjects, graphABC; var playerSpriteDynamic : PictureABC; var xp, yp :...

Нельзя преобразовать тип char к integer
Помогите исправить ошибку. Я понимаю в чем заключается ошибка в 16 строке, но понятия не имею, как...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru