1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем tolyanl1985, 21 ноя 2012.

  1. tolyanl1985

    tolyanl1985 New Member

    Репутация:
    0
    Регистрация:
    19 ноя 2012
    Сообщения:
    4
    Симпатии:
    0
    Найти порядковый номер последнего отрицательного числа в последовательности из n вещественных чисел



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

    sinkopa Well-Known Member

    Репутация:
    0
    Регистрация:
    17 июн 2009
    Сообщения:
    344
    Симпатии:
    9
    Какой имеено паскаль? 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.
    И причем тут Базы данных, интересно? :)
     
Загрузка...

Поделиться этой страницей