![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| DangerousV |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 22.12.2013 Репутация: нет Всего: нет |
ошибка в несоответствии типов. Ошибка в головной программе. 4 модуля компилируются
Добавлено через 2 минуты и 8 секунд Головная программа:
Program Lab_11; Uses WinCrt,MyType,Vvod,Vyvod,TypeAlg; Var A:TMas2I; B,C,D,E:TMas1I; minB,minC:ShortInt; k1,k2,k3:Byte; Begin Randomize; VvodMatrI(6,6,-10,10,A); Writeln('Матрица А'); VyvodMatrIC(6,6,A); Writeln('Матрица А'); VyvodMatrIF(6,6,A); VvodVekI(6,-10,10,B); Writeln('Вектор B'); VyvodVekIC(6,6,B); Writeln('Вектор B'); VyvodVekIF(6,6,B); FormVekFromSumStr(A,6,6,C,k1); Writeln('Полученный вектор'); VyvodVekIC(k1,6,C); Writeln('Полученный вектор'); VyvodVekIF(k1,6,C); minB:=minMas1R(6,B); minC:=minMas1R(k1,C); Writeln('minB=',minB:3,' minC=',minC:3); Writeln('minB=',minB:3,' minC=',minC:3); minC:=2*minB; Writeln('minB=',minB:3,' minC=',minC:3); If minC mod minB =0 Then Begin FormVekFromPolMatr(A,6,6,D,k2); Writeln('Вектор из положительных элементов матрицы'); VyvodVekIC(k2,5,D); Writeln('Вектор из положительных элементов матрицы'); VyvodVekIF(k2,5,D); UporVek(k2,D); Writeln('Упорядоченный вектор'); VyvodVekIC(k2,5,D); Writeln('Упорядоченный вектор'); VyvodVekIF(k2,5,D); End Else Begin FormVekFromMatr(A,6,6,D,k3); UporVek(k3,D); Writeln('Упорядоченный преобразованный вектор '); VyvodVekIC(k3,10,D); Writeln('Упорядоченный преобразованный вектор '); VyvodVekIF(k3,10,D); FormMatrFromVek(D,6,6,A); Writeln(' '); Writeln('Упорядоченная матрица '); VyvodMatrIC(6,6,A); Writeln('Упорядоченная матрица '); VyvodMatrIF(6,6,A); End; End. Добавлено через 3 минуты и 38 секунд
Unit MyType; Interface Type TMas2I=Array[1..10,1..10] of ShortInt; TMas2R=Array[1..10,1..10] of Real; TMas1I=Array[1..100] of ShortInt; TMas1R=Array[1..100] of Real; Implementation End.
Добавлено через 4 минуты и 40 секунд Модуль TypeAlg: Unit TypeAlg; Interface Uses MyType; Procedure FormVekFromSumStr(Aa:TMas2I;na,ma:Byte;Var Ba:TMas1I;Var ka:Byte); Procedure FormVekFromPolMatr(Aa:TMas2I;na,ma:Byte;Var Ba:TMas1I;Var ka:Byte); Procedure UporVek(na:Byte;Var Aa:TMas1I); Procedure FormVekFromMatr(Aa:TMas2I;na,ma:Byte;Var Ba:TMas1I;Var ka:Byte); Procedure FormMatrFromVek(Ba:TMas1I;na,ma:Byte;Var Aa:TMas2I ); Function MinMas1R(na:Byte;Aa:TMas1I):Real; Implementation Procedure FormVekFromSumStr; Var i,j:Byte;Sm:ShortInt; Begin For i:=1 to na Do Begin Sm:=0; For j:=1 to ma Do Sm:=Sm+Aa[i,j]; Ba[i]:=Sm; End; ka:=na; End; Function MinMas1R; Var i:Byte;minMas:Real; Begin minMas:= Aa[1]; For i:=2 to na Do If Aa[i]<minMas Then minMas:=Aa[i]; MinMas1R:=minMas; End; Procedure FormVekFromPolMatr; Var i,j:Byte; Begin ka:=0; For i:=1 to na Do For j:=1 to ma Do If Aa[i,j]>0 Then Begin ka:=ka+1;Ba[ka]:=Aa[i,j];End; End; Procedure UporVek; Var i,j,Nmin:Byte;Min,Temp:ShortInt; Begin For i:=1 to na-1 Do Begin min:=Aa[i];Nmin:=i; For j:=i+1 to na Do If Aa[j]<min Then Begin Min:=Aa[j];Nmin:=j;End; Temp:=Aa[i];Aa[i]:=Aa[Nmin];Aa[Nmin]:=Temp; End; End; Procedure FormVekFromMatr; Var i,j:Byte; Begin ka:=0; For i:=1 to na Do For j:=1 to ma Do Begin ka:=ka+1;Ba[ka]:=Aa[i,j] End; End; Procedure FormMatrFromVek; Var i,j,k:Byte; Begin k:=0; For i:=1 to na Do For j:=1 to ma Do Begin k:=k+1;Aa[i,j]:=Ba[k]; End; End; End. Добавлено через 5 минут и 49 секунд Модуль Ввод: Unit Vvod; Interface Uses MyType; Procedure VvodMatrR(na,ma:Byte;Pa,Qa:Real;Var Aa:TMas2R); Procedure VvodMatrI(na,ma:Byte;Pa,Qa:ShortInt;Var Aa:TMas2I); Procedure VvodVekR(na:Byte;Pa,Qa:Real;Var Aa:TMas1R); Procedure VvodVekI(ma:Byte;Pa,Qa:ShortInt;Var Aa:TMas1I); Implementation Procedure VvodMatrR; Var i,j:Byte; Begin For i:=1 to na do For j:=1 to ma do Aa[i,j]:=(Qa-Pa)*Random+Pa; End; Procedure VvodMatrI; Var i,j:Byte; Begin For i:=1 to na do For j:=1 to ma do Aa[i,j]:=Random(Qa-Pa)+Pa; End; Procedure VvodVekR; Var i:Byte; Begin For i:=1 to na do Aa[i]:=(Qa-Pa)*Random+Pa; End; Procedure VvodVekI; Var i:Byte; Begin For i:=1 to ma do Aa[i]:=Random(Qa-Pa)+Pa; End; End. Добавлено через 6 минут и 25 секунд Модуль Вывода: Unit Vyvod; Interface Uses MyType; Procedure VyvodMatrRC(na,ma:Byte;Var Aa:TMas2R); Procedure VyvodMatrRF(na,ma:Byte;Var Aa:TMas2R); Procedure VyvodMatrIC(na,ma:Byte;Var Aa:TMas2I); Procedure VyvodMatrIF(na,ma:Byte;Var Aa:TMas2I); Procedure VyvodVekRC(na,ka:Byte;Var Aa:TMas1R); Procedure VyvodVekRF(na,ka:Byte;Var Aa:TMas1R); Procedure VyvodVekIC(na,ka:Byte;Var Aa:TMas1I); Procedure VyvodVekIF(na,ka:Byte;Var Aa:TMas1I); Implementation Procedure VyvodMatrRC; Var i,j:Byte; Begin For i:=1 to na do Begin For j:=1 to ma do Write(Aa[i,j]:2,' '); WriteLn(''); End; End; Procedure VyvodMatrRF; Var i,j:Byte; Begin For i:=1 to na do Begin For j:=1 to ma do Write(Aa[i,j]:2,' '); WriteLn(''); End; End; Procedure VyvodMatrIC; Var i,j:Byte; Begin For i:=1 to na do Begin For j:=1 to ma do Write(Aa[i,j]:4,' '); WriteLn(''); End; End; Procedure VyvodMatrIF; Var i,j:Byte; Begin For i:=1 to na do Begin For j:=1 to ma do Write(Aa[i,j]:4,' '); WriteLn(''); End; End; Procedure VyvodVekRC; Var i:Byte; Begin For i:=1 to na do Begin Write(Aa[i]:2,' '); If i mod ka=0 Then WriteLn(''); End; End; Procedure VyvodVekRF; Var i:Byte; Begin For i:=1 to na do Begin Write(Aa[i]:2,' '); If i mod ka=0 Then WriteLn(''); End; End; Procedure VyvodVekIC; Var i:Byte; Begin For i:=1 to na do Begin Write(Aa[i]:4,' '); If i mod ka=0 Then WriteLn(''); End; End; Procedure VyvodVekIF; Var i:Byte; Begin For i:=1 to na do Begin Write(Aa[i]:4,' '); If i mod ka=0 Then WriteLn(''); End; End; End. Присоединённый файл ( Кол-во скачиваний: 2 )
lab11.pas 1,55 Kb |
||||||
|
|||||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 2 Всего: 10 |
Всё правильно тебе компилятор пишет.
Спорная строка minB := minMas1R(6, B); Смотрим объявления типов: minB, minC: shortint; И смотрим на тип результата функции function MinMas1R(na: byte; Aa: TMas1I): real; |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
Никогда не пользуйтесь на форумах кнопкой КОД
|
|||
|
||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 2 Всего: 10 |
Sorry. В своё оправдание скажу лишь, что желал выделить цветом типы переменной и функции.
|
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |