![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.04.2011
Сообщений: 6
|
![]()
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Memo1: TMemo; Memo2: TMemo; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label3: TLabel; Label4: TLabel; procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Memo1.clear; // по нажатию специальной кнопки оба компонента TMemo очищаются Memo2.clear; end; procedure TForm1.BitBtn3Click(Sender: TObject); var m, i,n,j,l:integer; a,b:array of integer; begin j:=0; l:=0; n:=m; n:=Memo1.Lines.Count; m:=Memo2.Lines.Count; SetLength(A,n); // рассчитываем длину рабочих одномерных массивов A и B SetLength(B,m); // причем длина их должна быть одинакова // присвоение массива A for i:=0 to n-1 do begin A[i]:=strtoint(Memo1.Lines[i]); // в массив A сбрасывается все, что ввел пользователь end; // определяем все ненулевые элементы for i:=0 to n-1 do begin if (A[i]<>0) then // если элемент массива НЕ равен нулю, то … begin B[j]:=A[i]; // скопируем этот элемент в массив B l:=l+1; // к счетчику ненулевых элементов прибавим единицу Memo2.Lines.Add (inttostr(B[j])); // выведем новый элемент B[j] в компоненте TMemo j:=j+1; // счетчик элементов массива B изменим на единицу end; end; // выводим нули for i:=j to n-1 do { т. к. j – число ненулевых элементов, то выражение n-1-j – это число нулей в конце массива } begin B[j]:=0; // все оставшиеся незаполненными ячейки обнуляем Memo2.Lines.Add(inttostr (B[j])); // и выводим Label2.Caption:=intToStr(l); // выводим количество ненулевых элементов A:=NIL; // очищаем массивы A… B:=NIL; // … и B end; end; end. Вот код программы выдает ошибку Is not a valid integer value подправьте плиз код буду благодарен очень)а то уже незнаю че делать) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расположить элементы массива в порядке возрастания | Klik_1602 | Помощь студентам | 2 | 04.01.2011 14:59 |
Все отрицательные элементы массива А заменить на сумму, а положительные на полусумму предшествующих | Lada05 | Помощь студентам | 1 | 27.10.2010 15:44 |
1.Найти в матрице первую строку, все элементы которой отрицательны 2.отсортировать элементы массива по в | w0lf16 | Помощь студентам | 2 | 22.11.2009 15:47 |
Расположить элементы массива в порядке убывания частоты встречаемости элементов. | QWERT12345 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 14.11.2008 22:30 |
в начале все отрицательные, затем все положительные элементы в матрице | motaro | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.03.2008 19:16 |