Задачи. Turbo Pascal

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Richard, 13 May 2009.

  1. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    Может кто-нить помочь три задачки решить?

    1. Дан массив из N элементов. Каждый элемент равен 0, 1 или 2; нужно переставить элементы так, чтобы сначала располагались все нули, затем все единицы, а после них - двойки

    2. Найти количество элементов в массиве, больших среднего арифметического всех элементов массива.

    3.Задан массив из N элементов. Определить максимальный элемент.

    Заранее спасибо
     
  2. МongBa†

    МongBa† Member

    Joined:
    12 May 2009
    Messages:
    66
    Likes Received:
    12
    Reputations:
    0
    Максимально приблизил к паскалю (писал на делфи) но могут быть ошибки..

    1.
    Code:
    const
     N=10;
    var
     i1,i2,i:integer;
     mas:array[1..N] of integer;
    begin
     //...//
     for i1:=1 to N do
      for i2:=1 to N do
       if mas[i2]>mas[i1] then
       begin
        i:=mas[i2];
        mas[i2]:=mas[i1];
        mas[i1]:=i;
       end;
     for i:=1 to N do writeln(inttostr(mas[i]));
     readln;
    end.
    2.
    Code:
    const
     N=10;
    var
     all,bolwe,i:integer;
     srednee:real;
     mas:array[1..N] of integer;
    begin
     //...//
     all:=0;
     for i:=1 to N do all:=all+mas[i];
     srednee:=all/N;
     bolwe:=0;
     for i:=1 to N do if mas[i]>srednee then inc(bolwe); //bolwe:=bolwe+1
     writeln(inttostr(bolwe));
     readln;
    end.
    3.
    Code:
    const
     N=10;
    var
     max,i:integer;
     mas:array[1..N] of integer;
    begin
     //...//
     max:=0;
     for i:=1 to N do
      if max<mas[i] then max:=mas[i];
     writeln(inttostr(max));
     readln;
    end.
     
  3. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    МongBa† спасибо, но мне нужно чтоб все операторы были паскалевскими =))) у нас училка докопается =) Я б ей на C++ написанные программки сдал, но ей именно в паскале надо, т.к. она ничё кроме паскаля не знает =))))
     
  4. МongBa†

    МongBa† Member

    Joined:
    12 May 2009
    Messages:
    66
    Likes Received:
    12
    Reputations:
    0
    Дак вроде и так вроде все паскаль... )
    неуверен на счет
    inc(bolwe) заменить на bolwe:=bolwe+1
    и inttostr (не помню, мб в паскале аналог по другому звучит)
     
  5. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    не, ты не понял... хм... как бы объяснить... кароче, мне нужно чтоб задачи были решены подобно этой...
    мне первую решили, уже не нужно..



    var a,c,d,b: array [1..100] of integer;
    j, i, n, k,h,e: integer;
    begin
    readln(n);
    for i:=1 to n do begin read (a);
    j:=1; k:=1; h:=1;
    for i:=1 to n do begin begin begin
    if a=0 then begin b[j]:=a; j:=j+1; end;
    if a=1 then begin c[k]:=a; k:=k+1; end;
    if a=2 then begin d[h]:=a; e:=e+1; end; end; end;end;
    for i:=1 to j do begin write (' ',b[j]) end;
    for i:=1 to k do begin write (' ',c[k]) end;
    for i:=1 to h do begin write (' ',d[h]) end;
    end;
    readln
    end.
     
  6. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    вот с использованием только циклов мне надо решить задачи... первую решили мне уже...
     
  7. SmanxX1

    SmanxX1 Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    27
    Likes Received:
    6
    Reputations:
    2
    2:
    PHP:
    const
         
    ARR_MAX=200;
    var
       
    a:array[1..ARR_MAXof Real;
       
    sr:Extended;
       
    n,i:Integer;

    begin
         WriteLn
    ('N='); Read(n);

         for 
    i:=1 to n do
             
    begin
                  ReadLn
    (a[i]);
                  
    sr:=sr+a[i];
             
    end;

         
    sr:=sr/n;

         for 
    i:=1 to n do
             if 
    a[i]>sr then WriteLn(a[i]:10:6);
    end.
    3:
    PHP:
    const
         
    ARR_MAX=200;
    var
       
    a:array[1..ARR_MAXof Integer;
       
    n,i,max:Integer;

    begin
         WriteLn
    ('N='); Read(n);

         for 
    i:=1 to n do ReadLn(a[i]);

         
    max:=a[1];
         for 
    i:=2 to n do
             if 
    a[i]>max then max:=a[i];

         
    WriteLn(max);
    end.
     
    1 person likes this.
  8. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    спасибо
     
  9. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    Кто может ещё одну задачку решить с помощью циклов?

    Условие задачи: Дан массив размера N и целые числа K и L (1<K<L<N). Найти среднее арифметическое элементов массива с числами от L до K включительно.

    заранее спасибо!
     
  10. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Code:
    const
         N=100;
    var
           a : array[1..N] of integer;
    	k, l, i, s : integer;
    
    begin
    //Считываешь параметры
    s:=0;
    for i:=k to l do
    s:=s+a[i]
    
    writeln(s/(l-k));
    readln;
    
    end.
    
     
    1 person likes this.
  11. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    спасибо
     
  12. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    Ёщё задачка:

    Дан одномерный целочисленный массив. Составить программу определения индекса(-ов) минимального элемента массива. Именно номера(индекса) ячейки в которой расположен минимальный член массива!
     
  13. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Code:
    min:=a[1];
    for i:=2 to N do 
     if a[i]<min then
    	min:=a[i]
    
    for i:=1 to N do
     if a[i]=min then 
    	writeln(i);
    
     
  14. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    огромное спаибо!