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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 22:13   #1
prod87
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 48
По умолчанию Проблема с вводом в массив

Есть такая проблема:

Программа считывает из поля мемо1 массив (каждый элемент с новой строки) а затем выводит считаный массив в поле мемо2. При запуске программа выдает ошибку, но в выводит массив в мемо2 с измененным 1м элементом матрицы. Вот пример:
Исходная матрица:
1
2
3
4
5

Матрица выведенная в поле мемо2:
1,0000000021703
2
3
4
5

Что я не так делаю?
Вот текст программы:
Код:
unit lab61;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    GroupBox2: TGroupBox;
    Memo2: TMemo;
    Button3: TButton;
    StatusBar1: TStatusBar;
    Button4: TButton;
    Edit2: TEdit;
    Label3: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;X:array[1..50] of real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Clear;
edit1.Clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
memo2.Clear;
end;

procedure TForm1.Button4Click(Sender: TObject);
var X:array[1..50] of real; i,j:integer; R:real;
begin
j:=strtoint(edit1.text);
for i:=0 to j do
  begin
  X[i]:=strtofloat(memo1.Lines[i]);
  end;
R:=strtofloat(edit2.Text);
for i:=0 to j do
  begin
  memo2.Lines.add(floattostr(X[i]));
  end;
end;

end.
prod87 вне форума Ответить с цитированием
Старый 24.11.2009, 22:33   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
var X:array[1..50] of real; i,j:integer; R:real;
begin
//j:=strtoint(edit1.text);
for i:=1 to 5 do
  begin
  X[i]:=strtofloat(memo1.Lines[i-1]);
  end;
//R:=strtofloat(edit2.Text);
for i:=1 to 5 do
  begin
  memo2.Lines.add(floattostr(X[i]));
  end;
end;
dr.Chas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с вводом данных в файл. Bilargo Помощь студентам 9 12.10.2009 20:59
Проблема с вводом знаков на клавиатуре( даяна Компьютерное железо 4 16.07.2009 14:52
проблема с вводом/выводом revan-8 Общие вопросы C/C++ 10 09.07.2009 20:54
проблема с вводом графа Petruha-nsk Общие вопросы C/C++ 4 10.04.2009 15:51