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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 11:49   #1
Ангелина_
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 11
По умолчанию Выводится только один элемент массива

Здравствуйте. Задание:

Даны 2 массива. Составить из них третий, упорядоченный по возрастанию.

Я написала программу, во всех строках выводится только один элемент. Что я сделала не так?

П.С. Как создавать тему так, чтобы программа отображалась красиво в отдельном окне?

Код:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
mas1 : array [1..10] of Integer;

mas2 : array [1..10] of Integer;

mas3 : array [1..20] of Integer;

a, b, c, d, i, j, k, min: Integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:= 1 to 10 do

begin
mas1 [i] := random(20); //присваиваем эл-ту массива случ значение от 0 до 19
Edit1.Text := IntToStr (mas1 [i])+ ' ';

end;

for j:= 1 to 10 do

begin
mas2 [j] := random(20); //присваиваем эл-там массива случ значение от 0 до 19
Edit2.Text := IntToStr (mas2 [i])+ ' ';

end;

// Заполняем результирующий массив:
for i:=1 to 10 do
for k:=1 to 10 do

begin
mas3 [k]:= mas1[i];
end;

for j:=1 to 10 do
for k:=11 to 20 do

begin
mas3 [k]:= mas2[j];
end;

Edit3.Text := IntToStr (mas3 [i])+ ' ';

// Упорядочим результирующий массив по возрастанию:

for k:=1 to 20 do
begin
min:= mas3[k];

for i:=k to 20 do // вложенный цикл
begin
if mas3[i]<min then
min:= mas3[i];
end;

mas3[k]:=min;
Edit4.Text := IntToStr (mas3 [i])+ ' ';

end;
end;
end.

Последний раз редактировалось Stilet; 18.02.2013 в 12:08.
Ангелина_ вне форума Ответить с цитированием
Старый 18.02.2013, 12:11   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
П.С. Как создавать тему так, чтобы программа отображалась красиво в отдельном окне?
тегы или кнопочка со значком "решеточки"
Цитата:
во всех строках выводится только один элемент. Что я сделала не так?
код
Код:
Edit1.Text := IntToStr (mas1 [i])+ ' ';
подразумевает под собой каждый раз переприсваивание переменной нового значения. чтобы выводились все значения нужно добавлять к текущему значению нового не забыв в начале почистить все от лишнего. т.е.примерно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := '';
  Edit2.Text := '';
  for i:= 1 to 10 do
  begin
    mas1[i] := random(20); //присваиваем эл-ту массива случ значение от 0 до 19
    Edit1.Text := Edit1.Text + IntToStr(mas1[i])+ ' ';
  end;

  for j:= 1 to 10 do
  begin
    mas2[j] := random(20); //присваиваем эл-там массива случ значение от 0 до 19
    Edit2.Text := Edit2.Text + IntToStr(mas2[j])+ ' ';
  end;
end;
ну и для Edit3 аналогично
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 18.02.2013 в 12:19.
Yurk@ вне форума Ответить с цитированием
Старый 18.02.2013, 15:05   #3
Ангелина_
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 11
По умолчанию

Понятно, спасибо!
Ангелина_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить элемент элемент одномерного массива? Паскаль Женька Good Помощь студентам 5 21.12.2011 00:07
Одномерный массив. Необходимо заменить последний положительный элемент на второй элемент массива кумитэ Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2011 16:44
Найти второй по величине элемент массива (за два прохода; за один проход) (на Паскале) Мaрина Помощь студентам 2 26.09.2011 13:49
В заголовок окна выводится только 1 символ из строки( wchar_t ) Руслантус Win Api 4 30.11.2009 19:45