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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2014, 15:51   #1
Xlook
 
Регистрация: 13.04.2014
Сообщений: 7
Вопрос В чем ошибка? перепись с сихи на делфу.

Вообщем ребят переписываю прогу с C++ на Delphi в конце вылезла ошибка перевод типов на сколько понял TextOut(j*30, i*20, st); вот тут Но до этого я выводил этот же массив таким же способом. и компиль не ругался посмотрите вообще верно хоть переписал нет:
C++ консолька:
Код:
#include <iostream .h>

void main(){
cout< <"ALGORITM FLOIDA. NAHOZHDENIE KRATCHAISHEGO RASSTOYANIYA MEZHDU VSEMI VERSHINAMI GRAPHA."<<endl;
//cout<<"source by www.linkfight.ru"<<endl<<endl;
cout<<"vvedite razmernost' massiva: "<<endl;
int n;
cin>>n;
int arr[255][255];
 
for (int i=1; i< =n; i++){
for (int q=1; q<=n; q++){
cout<<"vvedite element a["<<i<<"]["<<q<<"]: ";
cin>>arr[i][q];
}
}
cout< <endl;
cout<<endl;
 
cout<<"isxodnaya matricca: "<<endl;
for (i=1; i<=n; i++){
for (int q=1; q<=n; q++){
cout<<arr[i][q]<<"         ";
}
cout<<endl;
}
 
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
 
cout<<"reshene: "<<endl;
for (int r=1; r<=n; r++){
 
	if(r==n) {
		cout <<endl;
		cout <<endl;
		cout <<"otvet: "<<endl;
	}
 
 
 
// øàãè
for (i=1; i<=n; i++){
for (int q=1; q<=n; q++){
 
 
 
if(arr[i][q]==-1 && arr[i][r]!=-1 && arr[r][q]!=-1){
arr[i][q]=arr[i][r]+arr[r][q];
} else if(arr[i][q]>arr[i][r]+arr[r][q]){
arr[i][q]=arr[i][r]+arr[r][q];
}
 
 
if(arr[i][q]&lt;0){
	cout< <"~         ";
}
else {
cout<<arr[i][q]<<"         ";
}
 
 
}
cout<<endl;
}
 
 
 
cout<<endl;
cout<<endl;
cout<<endl;
}
 
}
Delphi ООП:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    XPManifest1: TXPManifest;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  N:Integer;
  st:string;
  MyArray: array [1..255,1..255] of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Enabled:=false;
Button2.Enabled:=True;
Button1.Enabled:=False;
N:=StrToInt(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:Integer;
begin
for i:=1 to n do
for j:=1 to n do
begin

MyArray[i,j] := StrToInt(InputBox('Введите '+IntToStr(I)+' элемент массива.','Строка '+IntToStr(I),''));
end;
with form1.Canvas do begin //вывод матрицы которую ввели для просмотра
for i:=1 to n do begin
for j:=1 to n do begin
str(MyArray[i,j],st);
TextOut(j*30, i*20, st);
end;
Label1.Visible:=True; //текст типа введенная матрица
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
AnimateWindow(Handle, 500, AW_HOR_POSITIVE or AW_SLIDE);

end;

procedure TForm1.Button3Click(Sender: TObject); // результат кнопка вывода
var i,j,r:Integer;
begin
for r:=1 to n do
begin
 if r=n then  Label1.Caption:='Ответ:';
end;
for i:=1 to n do begin
for j:=1 to n do begin
if (MyArray[i,j]=-1) and (MyArray[i,r]<>-1) and (MyArray[i,j]<>-1) then
begin
MyArray[i,j]:=MyArray[i,r]+MyArray[r,j];
end
else
if MyArray[i,j]>MyArray[i,r]+MyArray[r,j] then
begin
  MyArray[i,j]:=MyArray[i,j]+MyArray[r,j];
end;
if MyArray[i,j]<0 then ShowMessage('s')
else
begin
str(MyArray[i,j],st);
TextOut(j*30, i*20, st);
end;
end;
end;
end;
end.
Xlook вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перепись населения Dimka1 Microsoft Office Access 1 06.04.2012 07:25
перепись программы с паскаля на VC++ F23RUS Помощь студентам 0 24.11.2011 18:34
Перепись населения Arigato Свободное общение 94 27.10.2010 06:52
Перепись линуксоидов Levsha100 Свободное общение 14 02.06.2010 07:09
скачать делфу ben95 Общие вопросы Delphi 3 05.09.2008 09:16