Броят на максималните елементи

Да се напише програма, която позволява да се въведе цяло число n (между 2 и 20) и масив от n на брой цели числа, и след това отпечатва броят на елементите в масива, които имат стойност равна на максималната.

Публикувано в 10в с етикети . Постоянна връзка.

6 Responses to Броят на максималните елементи

  1. kaloyan каза:
    VAR
      a:array[1..100] of integer;
      n,b,i,broi:integer;
    BEGIN
      repeat
        write('vavedi chetno cqlo chislo ot 2 do 20: '); readln(n);
        if ((n<2)or(n>20)) then writeln('chisloto ne e mejdu 2 i 20');
      until ((n>=2)and(n<=20)) ;
    
      write('kolko elementi  shte sadatja masiva: '); readln(b);
    
      writeln('vavedi elementite na masiva:');
      for i:=1 to b do
        readln(a[i]);
      writeln;
    broi:=0;
      for i:=1 to b do
        if a[i]=n then broi:=broi+1;
    
      writeln('chisloto ',n,' se sadarja ',broi,' pati v chislata, vavedeni v masiva');
    
    readln;
    END.  
    
    • Данаил каза:

      Калояне, добре направена задача (както винаги), но не си разбрал съвсем условието. N ти е броят на числата, въведени в масива. Трябва да се намери максималното от тях и после да се провери колко пъти тази максимална стойност се среща в масива. Например в поредицата от числа (1, 5, 3, 0, 5, 5, 2) максималното число се среща 3 пъти.

  2. kaloyan каза:

    Редактирана .. :)

    VAR
      a:array[1..100] of integer;
      n,i,broi,max:integer;
    BEGIN
    //ВЪВЕЖДАМЕ БРОЯ НА ЕЛЕМЕНТИТЕ НА МАСИВА
      write('kolko elementi 6te sadarja masiva: '); readln(n);
    //ВЪВЕЖДАМЕ СТОЙНОСТИТЕ НА ЕЛЕМЕНТИТЕ НА МАСИВА
      writeln('vavedete elementite na masiva:');
    //ВЪВЕЖДАМЕ ПЪРВАТА СТОЙНОСТ, ЗА ДА СЕ ПРИСВОИ КАТО НАЙ-ГОЛЯМА
        readln(a[1]);
        max:=a[1];
    //ВЪВЕЖДАМЕ ОСТАНАЛИТЕ СТОЙНОСТИ
        for i:=2 to n do begin
          readln(a[i]);
    //ПРОВЕРЯВАМЕ КОЯ Е НАЙ-ГОЛЯМАТА СТОЙНОСТ
          if a[i]>max then max:=a[i]; end;
    //ПРИСВОЯВАМЕ 0 ЗА НАЧАЛНА СТОЙНОСТ НА БРОЯ
    broi:=0;
        for i:=1 to n do
    //ПРЕБРОЯВАМЕ МАКСИМАЛНИТЕ СТОЙНОСТ
          if a[i]=max then broi:=broi+1;
    //И НАКРАЯ ОТПЕЧАТВАМЕ .. :)
        writeln('broq na maksimalnite stoinost e ',broi);
    
    readln;
    END. 
    
    • Данаил каза:

      Перфектно! Хитрец – спестил си един цикъл :-) Да усложним още малко задачата – можеш ли всичко – въвеждане, намиране на максимален елемент и броят на срещанията му да го направиш в един цикъл?

  3. kaloyan каза:

    Не, мисля че няма как да стане само с един цикъл, защото ако втората стойност, която се въвежда е по-голяма от първата, тогава на броя се присвоява +1, но ако след това пак се въведе по-голяма стойност пак към броя се присвоява +1 .. Незнам, може и да има някакъв начин, но според мен няма как! :)

Вашият коментар