Задача - Сколько элементов массива больше по модулю максимального
- программирование на разных языках

Задача — Сколько элементов массива больше по модулю максимального — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.


Задача — Сколько элементов массива больше по модулю максимального
— программирование на Pascal, Си, Кумир, Basic-256, Python

Создать массив из 20 элементов в диапазоне значений от -15 до 14 включительно. Определить количество элементов по модулю больших, чем максимальный.

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

По факту код программы получается проще, если сравнивать с максимумом все элементы массива. В результате алгоритм решения задачи сводится к следующему:

  1. Присвоить переменной, в которой будет храниться максимум, значение меньше, чем возможное в массиве (в данном случае -16).
  2. Перебрать все элементы массива. Если очередной элемент больше значения, которое хранится в переменной для максимума, то поменять значение этой переменной на текущий элемент.
  3. Присвоить переменной для подсчета элементов больших по модулю максимальный значение 0.
  4. Перебрать все элементы массива. Если абсолютное значение текущего элемента больше того, что записано в переменной для максимума, то увеличить переменную-счетчик (из предыдущего пункта) на 1.

Pascal const N = 20;
var
        a: array[1..N] of integer;
    max: integer;
        i, count: byte;
begin
        randomize;
    max := -16;
    for i:=1 to N do begin
        a[i] := random(30)-15;
        write(a[i],’ ‘);
        if a[i] > max then max := a[i];
    end;
    writeln;
    count := 0;
    for i:=1 to N do
        if abs(a[i]) > max then
            count := count + 1;
    writeln(count);        
end. 1 -6 -13 12 -3 12 -8 11 12 5 -7 -4 -9 -13 -13 -5 -6 0 -5 1
3

В примере максимум равен 12. Больше него по модулю число -13, которое в массиве встречается 3 раза.

Язык Си #include <stdio.h>
#define N 20
main() {
    int a[N];
    int i, max, count, d;
    srand(time(NULL));
    max = -16;
    for (i=0; i < N; i++) {
        a[i] = rand()%30 — 15;
        printf("%d ", a[i]);
        if (a[i] > max) max = a[i];
    }
    printf("n");
    count = 0;
    for (i=0; i < N; i++)
        if (abs(a[i]) > max) count += 1;
    printf("%dn", count);
} -3 2 -8 -14 0 11 -7 10 5 3 5 -6 9 -3 10 9 5 1 -13 8
2

В этом примере максимальный элемент — число 11. Больше него по модулю -14 и -13.

Python from random import random
N = 20
a = [0]*N
m = -16
for i in range(N):
    a[i] = int(random()*30)-15
    print(a[i],end=’ ‘);
    if a[i] > m: m = a[i]
print()
count = 0
for i in range(N):
    if abs(a[i]) > m:
        count += 1
print(count) -10 -2 -15 -2 5 7 -13 5 -4 -1 2 0 11 -1 2 2 -12 -7 11 14
1

Максимальный 14. Больше него по модулю только -15.

КуМир алг больше по модулю максимального
нач
  цел N = 20
  цел таб a[1:N]
  цел mx, i, count
  mx := -16
  нц для i от 1 до N
    a[i] := int(rand(-15,15))
    вывод a[i], " "
    если a[i] > mx то mx:=a[i] все
  кц
  вывод нс
  count := 0
  нц для i от 1 до N
    если abs(a[i]) > mx то
      count := count + 1
    все
  кц
  вывод count
кон 2 -2 -7 5 5 -13 -8 -7 -10 2 -15 11 -6 -15 14 -12 -6 -14 -3 13
2

Максимальное 14. Больше него по модулю два числа -15.

Basic-256 N = 20
dim a(N)
max = -16
for i=0 to N-1
        a[i] = int(rand*30)-15
        print a[i] + " ";
        if a[i] > max then max = a[i] next i
print
c = 0
for i=0 to N-1
        if abs(a[i]) > max then c = c+1
next i
print(c) -2 -15 11 11 10 -10 -7 7 -10 13 8 -13 -1 -10 -12 7 -14 -3 -10 -1
2

Максимальный элемент равен 13. Больше него по модулю -15 и -14.

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий