![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 29.10.2007
Сообщений: 12
|
![]()
получил такую задачку, не могу понять, что значит "сохранить в памяти массив".
В решении предлагается сохранить в памяти массив, который вы читаете из окна Memo1 с помощью объявленного массива. Со-храненный массив обработать и результат обработки вывести в ок-но Memo2. Я сделеал это так: (но пришёл ответ, что решение не верное) procedure TForm1.BitBtn1Click(Sender: TObject); var i:integer; begin n:=memo1.lines.count; memo2.Clear; label3.caption:=' '; for i:=1 to n do begin a[i]:=strtoint(memo1.Lines[i-1]); end; end; procedure TForm1.Button1Click(Sender: TObject); var r,i,z:integer; st:string; begin for i:=1 to n do begin r:=a[i] mod 2; if r=0 then begin st:=IntToStr(a[i]) +#13; Memo2.Lines.Add(st); z:=memo2.lines.count; label3.Caption:='Количество чисел = '+ inttostr(z); end; end ; end; Последний раз редактировалось Stilet; 16.01.2008 в 10:12. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Нверное имеется ввиду занести из Мемо данные в массив обработать и выдать в Мемо результат
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Первая и главная ошибка, то что у вас не объявлен массив. Нужно написать
var i:integer; a:array[ ]Указать тип; |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 29.10.2007
Сообщений: 12
|
![]() |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 29.10.2007
Сообщений: 12
|
![]() Цитата:
Дана последовательность произвольных целых чисел. Опреде-лить в последовательности номера всех четных значений и вывести найденный массив из четных чисел. Определить количество элементов в полученном массиве. В решении предлагается сохранить в памяти массив, который вы читаете из окна Memo1 с помощью объявленного массива. Со-храненный массив обработать и результат обработки вывести в ок-но Memo2. ||| вот весь листиг - он работает в соответствии с условием, но мне ответили, что это не правильно, я не могу понять почему (т.е. не могу понять, что значит сохранить массив в памяти, может надо использоват SaveToStream и LoadFromStream) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; BitBtn1: TBitBtn; Panel1: TPanel; Memo1: TMemo; Label3: TLabel; BitBtn2: TBitBtn; Memo2: TMemo; Label1: TLabel; Label2: TLabel; procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; Type mas=array[1..30] of integer; var Form1: TForm1; a:mas; n:integer; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); var i:integer; begin n:=memo1.lines.count; memo2.Clear; label3.caption:=' '; for i:=1 to n do begin a[i]:=strtoint(memo1.Lines[i-1]); end; end; procedure TForm1.Button1Click(Sender: TObject); var r,i,z:integer; st:string; begin for i:=1 to n do begin r:=a[i] mod 2; if r=0 then begin st:=IntToStr(a[i]) +#13; Memo2.Lines.Add(st); z:=memo2.lines.count; label3.Caption:='Количество чисел = '+ inttostr(z); end; end ; end; procedure TForm1.FormCreate(Sender: TObject); begin form1.Caption:='определение чётных чисел'; memo1.ScrollBars:=ssVertical; memo2.ScrollBars:=ssVertical; end; end. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
В данном случае распространенная ошибка, когда новый массив не сохраняя его в памяти выводят на экран. Дело в том, что создать массив и вывести его на экран не одно и тоже.
Поэтому нужно сначала сделать типа k:=0; for i:=1 to n do if a[i] mod 2=0 then begin k:=k+1; b[k]:=a[i] ; end; for i:=1 to k do Memo2.Lines.Add(strotoint(b[i])); Возможно есть неточности, но важен принцип. |
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы в С\С++ | Zahar11 | Помощь студентам | 4 | 31.05.2008 00:35 |
массивы | ShenDy | Общие вопросы C/C++ | 4 | 17.04.2008 00:01 |
Массивы | Snord | Общие вопросы Delphi | 2 | 12.04.2008 13:45 |