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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2008, 21:41   #1
zhorzh2407
 
Регистрация: 25.10.2008
Сообщений: 5
Вопрос Помогите создать массив...

Составить программу в системе программирования Delphi следующим образом:

Главная форма должна состоять из:
- поля ввода, где задается размерность массива
- кнопоки формирования случайного массива (случайные числа в диапазоне от 0 до 10*N, N - размерность массива)
zhorzh2407 вне форума Ответить с цитированием
Старый 25.10.2008, 22:20   #2
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Код:
var
text: string;
Mas: array of string;
i: integer;
begin
text:=Edit1.text;
Inc(i);
SetLength(Mas, i);
Mas[i]:=Text;
end;
Манжосов Денис :) вне форума Ответить с цитированием
Старый 25.10.2008, 22:21   #3
sabbatazh
Пользователь
 
Аватар для sabbatazh
 
Регистрация: 06.10.2008
Сообщений: 20
По умолчанию

пользуй!!!
Код:
var _Lines : array of integer;
n,i: integer;
...
begin
n:= StrToInt(edit1.text);
SetLength(_Lines, 10* n);
for I:= 0 to 10*n-1 do  _Lines[i]:= random(100);
end;

Последний раз редактировалось sabbatazh; 25.10.2008 в 22:24.
sabbatazh вне форума Ответить с цитированием
Старый 25.10.2008, 22:38   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от sabbatazh Посмотреть сообщение
пользуй!!!
Код:
var _Lines : array of integer;
n,i: integer;
...
begin
n:= StrToInt(edit1.text);
SetLength(_Lines,  n);
for I:= 0 to 10*n-1 do  _Lines[i]:= random(n);
end;
ЭЭ мож так размерность то N
Код:
var _Lines : array of integer;
n: integer;
begin
n:= StrToInt(edit1.text);
SetLength(_Lines,  n);
for n:= 0 to high(_Lines) do  _Lines[n]:= random(10*n);
vovk вне форума Ответить с цитированием
Старый 25.10.2008, 22:41   #5
maxvodo.dll
Пользователь
 
Аватар для maxvodo.dll
 
Регистрация: 24.10.2008
Сообщений: 17
Сообщение

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    StaticText1: TStaticText;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,m:integer;
  massrand:array of array of real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  good:boolean;
  i,j:integer;
begin
  good:=true;
  try
  n:=strtoint(edit1.Text);
  m:=strtoint(edit2.Text);
  setlength(massrand,n,m);
  dec(n);
  dec(m);
  except
  good:=false;
  showmessage('Неверные n или m');
  end;
  if good then
    begin
    image1.Canvas.FillRect(image1.ClientRect);
    for i:=0 to n do
      for j:=0 to m do
        begin
        massrand[i,j]:=random(10*n-1);
        image1.Canvas.TextOut(j*30+2,i*20+2,format('%1.2f',[massrand[i,j]]));
        end;
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize();
end;

end.
p.s.
Цитата:
(случайные числа в диапазоне от 0 до 10*N, N - размерность массива)
вот это ввело в заблуждение. массив (..,..)

SetLength(_Lines, n); установка длины динамического массива

Последний раз редактировалось maxvodo.dll; 25.10.2008 в 22:54.
maxvodo.dll вне форума Ответить с цитированием
Старый 25.10.2008, 22:46   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

О как а двумерный то зачем?

Мне кажется булев лишнее можно так StrToIntDef(edit1.Text,1)<>1
да и вообще смысл давать обязательно для исполнения ShowMessage, лишнее по моему
не вижу смысла в данном исполнения для
Код:
try
 .... 
  except
ЗЫ. Если ошибаюсь скажите. Знания лишними не бывают

Последний раз редактировалось vovk; 25.10.2008 в 23:08.
vovk вне форума Ответить с цитированием
Старый 25.10.2008, 22:50   #7
zhorzh2407
 
Регистрация: 25.10.2008
Сообщений: 5
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
ЭЭ мож так размерность то N
Код:
var _Lines : array of integer;
n: integer;
begin
n:= StrToInt(edit1.text);
SetLength(_Lines,  n);
for n:= 0 to high(_Lines) do  _Lines[n]:= random(10*n);

поясни пожалуйста эту строку "SetLength(_Lines, n);"
zhorzh2407 вне форума Ответить с цитированием
Старый 25.10.2008, 22:53   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от zhorzh2407 Посмотреть сообщение
поясни пожалуйста эту строку "SetLength(_Lines, n);"
Задаём размерность массива N как просили
vovk вне форума Ответить с цитированием
Старый 26.10.2008, 00:38   #9
zhorzh2407
 
Регистрация: 25.10.2008
Сообщений: 5
По умолчанию

ЯСНО.. СПАСИБО
zhorzh2407 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать массив вещественных чисел nec117 Общие вопросы C/C++ 4 06.10.2008 20:16
создать в файле рандомный двумерный массив loon Помощь студентам 2 25.06.2008 08:32
Подскажите, как создать динамический массив? snaem Общие вопросы .NET 9 14.05.2008 08:52
Создать массив только из тех элементов, у которых остаток от деления на М равен L (0<=L<=M-1) Айвенго Microsoft Office Excel 2 12.01.2008 16:28
Помогите создать массив Dude_first Общие вопросы Delphi 3 24.10.2007 20:44