![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Даны 25 целых чисел, каждое отличное от нуля. Если в последовательности положительные и отрицательные члены чередуются(+,-,+.....или -,+,-.....). то ответом должна служить сама исходная последовательность. Иначе получить все отрицательные члены последовательности, сохранив их порядок.
|
|
#2
|
|||
|
|||
|
Код:
program Siquence;
{$APPTYPE CONSOLE}
var
A : Array [1..25] Of Integer;
function IsPMSiquence : Boolean;
var
StartSign : Integer;
begin
Result := True;
StartSign := Sign(A[Low(A)];
For I := Low(A) To High(A) Do
Begin
Result := Sign(A[i]) = StartSign;
StartSign := StartSign * (-1);
If Not Result Then Break;
End;
end;
procedure InitArray;
var
I : Integer;
begin
I := Low(A);
While I <= High(A) Do
Begin
A[i] := Random(100) - 50; // from -50 to 49
If A[i] = 0 Then Continue;
Inc(I);
End;
end;
procedure Print(All : Boolean);
var
I : Integer;
begin
For I := Low(A) To High(A) Do
If (All) Or ((Not All) And (A[i] < 0))
Then WriteLn(A[i]);
end;
begin
InitArray;
WriteLn('Generated:');
Print(All);
WriteLn;
WriteLn('Result:');
Print(IsPMSiquence);
end.ЗЫ. Писал тута, так что могут быть синтаксические ошибки и очепятки. |
|
#3
|
|||
|
|||
|
Извени, а на каком языке ты писал???
Просто мне надо связать с Stringgridom |
|
#4
|
||||
|
||||
|
Цитата:
В Stringgrid должны быть "25 целых чисел, каждое отличное от нуля" или туда нужно выводить ответ ? |
|
#5
|
|||
|
|||
|
Я писал на Delphi консольное приложение, которое просто демонстрирует алгоритм. Для демонстрации работы набор в массив генерится случайным образом. Откуда ты будешь значения в массив получать - твое дело.
Ну и вывод данных - заменть WriteLn на засовывание в ячейки StringGrid. |