Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 17:36   #1
Mambakremen
Пользователь
 
Регистрация: 07.11.2010
Сообщений: 10
По умолчанию Ошибка 26 Type mismatch.

Задание: Дана матрица 4 на 4. определить минимальный элемент главной диагонали и напечатать строку в которой он находится.

Ошибка 26 Type mismatch (Несоответствие типов) выбивается в конце после then не пойму в чем проблема!

Код:
program IDZ_2_2;
uses crt;
const
n=4;
m=4;
var
x:array[1..n,1..m] of integer;
x1:array[1..n] of integer;
i,j,tmp:integer;
min,num:integer;
begin
clrscr;
randomize;
for i:=1 to n do
 for j:=1 to m do
  x[i,j]:=random(100);
writeln;
 for i:=1 to n do
 begin
 for j:=1 to m do
 write(x[i,j]:4);
 writeln;
 end;
 writeln;
 for i:=1 to n do
 x1[i]:=x[i,i];
 for i:=1 to n do
 write(x1[i]:4);
 writeln;
   min:=x1[1];
   for i:=2 to n do
   if x[i] < min then
   begin
   min:=x[i];
   num:=i;
   end;
   writeln('Minimalbnui element glavnoi diagonali = ',min,'. On nahodits9 v ',i,' stroke');
   readkey;
   end.
Mambakremen вне форума Ответить с цитированием
Старый 04.12.2010, 17:45   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Цитата:
if x[i] < min then begin
min:=x[i];
а массив х, ведь двумерный
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 04.12.2010 в 17:47.
Niro вне форума Ответить с цитированием
Старый 04.12.2010, 17:48   #3
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

если память не подводит (я то давно проходил подобные задачки) то
Код:
 min:=x1[1];
означает min присвоить 1й элемент одномерного массива
Код:
min:=x[i];
тоже сомое присваивается одномерный массив. а вы работаете с двумерными массивами.
Код:
 if x[i] < min then
таже байда сравнение одномерного массива с min.
wm_leviathan вне форума Ответить с цитированием
Старый 04.12.2010, 17:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Автору:
Может так:
Код:
   if x1[i] < min then
...
   min:=x1[i];
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2010, 18:30   #5
Mambakremen
Пользователь
 
Регистрация: 07.11.2010
Сообщений: 10
По умолчанию

Спасибо всем, та провтыкал я х1 написать
Mambakremen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Type mismatch in expression SlavaSH БД в Delphi 24 02.05.2012 09:19
Data type mismatch???!!! b.grigorev Помощь студентам 17 16.08.2010 08:37
Ошибка run-time error 13 Type mismatch в VBA Kracozebr Microsoft Office Word 9 19.07.2010 16:10
без юнита процедуры работают а с юнитом пишет "type mismatch" fawr Помощь студентам 1 08.11.2009 02:53
Эта надоедливая ошибка: Type mismatch expresion :( artemavd БД в Delphi 8 25.06.2009 17:21