• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Номер Элемента В Последовательности

  • Автор темы tolyanl1985
  • Дата начала
T

tolyanl1985

Найти порядковый номер последнего отрицательного числа в последовательности из n вещественных чисел



Помогите решить на паскале!!! :huh:
 
S

sinkopa

Найти порядковый номер последнего отрицательного числа в последовательности из n вещественных чисел
Помогите решить на паскале!!! :huh:
Какой имеено паскаль? Delphi?
А как последовательность формируется? в массиве? или строку парсим из консоли? :)

Так пойдет?
Код:
program LastNegative;

{$APPTYPE CONSOLE}

uses
Windows,
SysUtils;

function Rus(const AStr: String): AnsiString;
begin
SetLength(Result, Length(AStr));
CharToOemBuff(PChar(AStr), PAnsiChar(Result), Length(AStr));
end;


function LastNegativeFloat(sequence: array of Extended): Integer;
var
i: Integer;
begin
Result := -1;
for i := Length(sequence)-1 downto 0 do
if (sequence[i] < 0) then
begin
Result := i+1;
Break;
end;
end;

var
n,count,lastN: Integer;
s,s1: string;
sequence: array of Extended;
begin
Writeln(Rus('Введите последовательность вещественных чисел, разделенных запятой'));
Readln(s);
if (Length(s) > 0) then
begin
Writeln(Rus('Вы ввели последовательность: '),s);
n := Pos(',',s);
count := 0;
while ( n > 0) do
begin
s1 := Copy(s,1,n-1);
count := count + 1;
SetLength(sequence,count);
sequence[count-1] := StrToFloatDef(s1,0);
s := Copy(s,n+1, Length(s));
n := Pos(',',s);
end;
count := count + 1;
SetLength(sequence,count);
sequence[count-1] := StrToFloatDef(s,0);
lastN := LastNegativeFloat(sequence);

Writeln(Rus('Которая состоит из '),count,Rus(' чисел'));
if (lastN > 0) then
begin
Writeln(Rus('Последнее отр.число в последовательности: '),sequence[lastN-1]);
Writeln(Rus('Его порядковый номер: '),lastN);
end
else
Writeln(Rus('Отрицательных чисел не обнаружено!'));
end
else
Writeln(Rus('Вы ничего не ввели! Гудбай!'));

Writeln(Rus('Нажмите <ENTER> для выхода из программы'));
Readln;
end.

И причем тут Базы данных, интересно? :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!