Одномерный массив

Тема в разделе "Delphi - FAQ", создана пользователем xenox, 1 мар 2007.

Статус темы:
Закрыта.
  1. xenox

    xenox Гость

    Здравствуйте!
    Условие задачи:
    Дана последовательность действительных чисел A1,A2,...An.Выяснить будет ли она возрастающей.
    И эту задачу надо сделать через функцию.
    Есть решение обычное не через функцию:
    Код (Text):
    Program posled;
    const
    n=10;
    var
    i:integer;
    k:byte;
    a:array[q..n] of integer;
    begin
    randomize;
    for i:=1 to n do
    begin
    a[i]:=random(100);
    writeln(a[i]);
    end;
    for i:=1 to n-1 do
    if a[i]<a[i+1] then
    k:=k+1;
    if k=n-1 then
    writeln('Возрастаеющая') else
    writeln('Не возрастающая')
    End.
    Можете сделать эту задачу через функцию, буду очень благодарен)
     
  2. DIR3ct0r

    DIR3ct0r Гость

    Код (Text):
     
    Program posled;
    const
    n=10;
    type
    m = array[1..n] of integer;

    function Check(arr: m): Boolean;
    var i, k: integer;
    begin
    k:= 0;
    for i:=1 to n - 1 do
    if arr[i] < arr[i + 1] then Inc(k);
    Result:= k = n-1;
    end;

    var
    i:integer;
    a: m;
    begin
    randomize;
    for i:=1 to n do
    begin
    a[i]:=random(100);
    writeln(a[i]);
    end;
    if Check(a) then writeln('Возрастаеющая')
    else writeln('Не возрастающая')
    End.
     
  3. ~RedFox~

    ~RedFox~ Гость

    Оригинальная задача. Интересно, какова вероятность вообще получить последовательность из 10 возрастающих чисел, путем их случайного выбора в диапазоне 0..100? :)
     
  4. DIR3ct0r

    DIR3ct0r Гость

    В условии задачи не сказано, что они последовательность выбирается случайным образом.
     
  5. S-haman

    S-haman Гость

    паскаля под рукой нету по этому могут быть небольшие неточности яб код сделал так
    const l=10;
    var arr:array[0..10] of integer;
    function Check(n:integer): Boolean;//n-длинна массива arr- имя массива по которому будет проверка
    var i: integer;
    res,b:bool;
    begin
    b=true;
    i:=0
    repeat
    if arr < arr[i + 1] then b:=true
    else b:=false;
    res:=b;
    i:=i+1;
    if i=n+1 then b:=false
    until b=false
    Result:= res;
    end;
    var i:integer;
    b:bool;
    begin
    randomize;
    for i:=0 to l do
    arr:=random(100);
    b:=chek(l);
    if b then
    writeln('Последовательность чисел возрастающяя')
    else
    writeln('Последовательность чисел не возрастающяя');
    end.
     
Загрузка...
Похожие Темы - Одномерный массив
  1. vbnoob
    Ответов:
    1
    Просмотров:
    973
  2. LifeT
    Ответов:
    1
    Просмотров:
    1.208
  3. Crock95
    Ответов:
    0
    Просмотров:
    1.278
  4. Dexet
    Ответов:
    1
    Просмотров:
    1.392
  5. dambaldor30
    Ответов:
    1
    Просмотров:
    1.145
Статус темы:
Закрыта.

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