Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/152: Рейтинг темы: голосов - 152, средняя оценка - 4.78
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
1

[Error] Unit1.pas(46): Incompatible types

20.01.2009, 17:28. Просмотров 28169. Ответов 35
Метки нет (Все метки)

Вот делаю Лабораторку по масивам напесал
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Buttons;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.BitBtn1Click(Sender: TObject);
const
   SIZE=5;
var
  a: array[1..SIZE] of real; // массив целых
  min: integer; // номер минимального элемента массива
  i: integer; // номер элемента, сравниваемого с минимальным
begin
  // ввод массива for i:=1 to SIZE do
  a[i] := StrToInt(StringGrid1.Cells[i-1, 0]);
 
  min:=1; // пусть первый элемент минимальный
  // поиск минимального элемента
  for i:=2 to SIZE do if a[i]< a[min] then min:=i;
 
  // вывод результата
label2.caption:='Минимальный элемент массива:'
  +IntToStr(a[min] +#13+'Номер элемента:'+ IntToStr(min));
end ;
end.
при попитки компиляции получаю
[Error] Unit1.pas(46): Incompatible types виделена последняя строчка

Кому нетрудно подскажите что надо дописать сюда чтоби выводился ище и максимальний элемент а то мои попитки изобрести веломипед превели к новим Error
да простите меня наглово но я в учебнеке не нашол функции как это дело на пичять кинуть тоисть зделать кнопку PrinT подилитесь Буду признателен

Добавлено через 22 минуты 30 секунд
Черт я уже 10 рах проверил ну нет там ошибок что же компилятору не нравитса???
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2009, 17:28
Ответы с готовыми решениями:

Ошибки [Error] Unit1.pas(40): Incompatible types
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

[Error] Unit1.pas(50): Incompatible types: 'Integer' and 'Extended'
procedure TForm1.Button1Click(Sender: TObject); begin a:=StrToInt(edit1.Text);...

Выдает ошибку [Error] Unit1.pas(56): Incompatible types
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка [Error] Unit1.pas(84): Incompatible types: 'Integer' and 'Extended'
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка [Error] Unit1.pas(38): Incompatible types: 'Array' and 'String'
На строке s:=memo1.lines; выводит Unit1.pas(38): Incompatible types: 'Array' and 'String' Не знаю...

35
Puporev
Модератор
56293 / 43098 / 29805
Регистрация: 18.05.2008
Сообщений: 102,389
20.01.2009, 17:33 2
a: array[1..SIZE] of real; // массив целых
Это Вы так думаете, а компьютер считает, что real это вещественный тип.
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 17:39 3
это я експеременировал в первом варянте там било Integer в итоге
[Error] Unit1.pas(46): Incompatible types (((
0
Lord_Voodoo
Супер-модератор
8623 / 2276 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
20.01.2009, 17:40 4
а так будет лучше?

label2.caption:='Минимальный элемент массива:' </SPAN>
+IntToStr(a[min]) +#13+'Номер элемента:'+ IntToStr(min);
0
mik-a-el
Администратор
73748 / 42874 / 243
Регистрация: 10.04.2006
Сообщений: 12,832
20.01.2009, 17:41 5
Death_coder, вас эта конструкция не смущает?
Pascal
1
IntToStr(a[min] +#13+'Номер элемента:'+ IntToStr(min));
Добавлено через 32 секунды
WooDooMan, нехороший человек, опередил
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 17:47 6
Теперь это(((
[Error] Unit1.pas(45): Expression expected but '/' found
кстати </SPAN> там для чего?
0
mik-a-el
Администратор
73748 / 42874 / 243
Регистрация: 10.04.2006
Сообщений: 12,832
20.01.2009, 17:48 7
Pascal
1
2
label2.caption := 'Минимальный элемент массива:'   
  + IntToStr(a[min]) + #13 + 'Номер элемента:' + IntToStr(min);
0
Vourhey
Почетный модератор
6496 / 2271 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
20.01.2009, 17:50 8
Цитата Сообщение от Death_coder Посмотреть сообщение
кстати </SPAN> там для чего?
Это чтобы дельфи компилировала сверх-защищенный код, который будет идентифицировать запускающего программу по тому, насколько нежно он касается мыши. Можно удалить. Тебе же эта защита не нужна...
1
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 18:01 9
Все скомпелировалось спасибо но вилез новий баг блин препод меня закопает !
вискакивает после пробного запуска забил колонки числами от 1 до 10 ((([IMG]http://s43.***********/i100/0901/9f/7b9206f28921.jpg[/IMG]

Добавлено через 1 минуту 31 секунду
это кашмар мне ише надо искать команду на печять а у меня требли даже с тем что я знаю(((!!!
0
Lord_Voodoo
Супер-модератор
8623 / 2276 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
20.01.2009, 18:06 10
Death_coder, а это так и у тебя в программе???
// ввод массива for i:=1 to SIZE do
0
mik-a-el
Администратор
73748 / 42874 / 243
Регистрация: 10.04.2006
Сообщений: 12,832
20.01.2009, 18:07 11
Там у вас видимо пустая строка приходит:
Delphi
1
2
  // ввод массива for i:=1 to SIZE do   
  a[i] := StrToInt(StringGrid1.Cells[i-1, 0]);
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 18:13 12
Да !

Добавлено через 4 минуты 21 секунду
Можна както исправить без глобальной переписи?
0
Lord_Voodoo
Супер-модератор
8623 / 2276 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
20.01.2009, 18:24 13
ИМХО, так будет лучше работать:
Delphi
1
2
3
// ввод массива 
  for i:=1 to SIZE do   
    a[i] := StrToInt(StringGrid1.Cells[i-1, 0]);
а вообще потрассируй и глянь, что у тебя там вообще происходит
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 18:32 14
WooDooMan
заменил на то что вы предложили ошибка таже блин я в этом деле нуб нубом первая лаба а препод упирь прям уже и незнаю что делать спасибо что хоть не послали ламера !
0
mik-a-el
Администратор
73748 / 42874 / 243
Регистрация: 10.04.2006
Сообщений: 12,832
20.01.2009, 18:34 15
Так сделайте проверку на пустую строку.
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 19:34 16
какраз пишу

Добавлено через 13 минут 20 секунд
все с этим розобралсо осталось гдето посмотреть насчеть роспичятки и дописать и придумать как зделать так чтобы искаля ище и максимальний элемент остальное я знаю

Добавлено через 45 минут 3 секунды
Подскажите пожалусто как вывести елементи масива на розпичятку нечего врозумительного ненашол пожалусто!
0
Vourhey
Почетный модератор
6496 / 2271 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
20.01.2009, 19:36 17
цикл по массиву, внутри:
writeln(' ',a[i],' ');
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 21:31 18
А для тех кто это первий раз видет можно поподробней?

Добавлено через 1 час 10 минут 46 секунд
Как это на практеке виглядить плиз дайте пример у меня токо это не пашет !

Добавлено через 38 минут 10 секунд
Хелп ми плиз в гугле по этому поводу пусто(((((
0
Vourhey
Почетный модератор
6496 / 2271 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
20.01.2009, 21:32 19
по поводу циклов на delphi? Для этого можно использовать ключевое слово for...
0
Death_coder
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 85
20.01.2009, 21:42 20
не я в курсе насчет этого! а куда writeln(' ',a[i],' '); именно нужно вставить с етим проблема!
0
20.01.2009, 21:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2009, 21:42

[Error] Unit1.pas(205): Incompatible types: 'String' and 'Integer'
Memo1.Font.Name:=Ini.ReadInteger('Font.Name','Memo1.Font.Name',100); Скажите в чем проблема...

Ошибка [Error] Unit1.pas(165): Incompatible types: 'WideString' and 'Char'
procedure TForm1.GetDrives; var Driv:char; begin SetLength(Drives,0); for Driv:='A' to 'Z' do...

[Error] Unit1.pas(186): Incompatible types: 'String' and 'dynamic array'
Unit1.pas(186): Incompatible types: 'String' and 'dynamic array' как решить проблему?


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

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

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