Рузиев_Давиденко
?>

Найдите количество невырожденных прямоугольников со сторонами, параллельными осям координат, вершины которых лежат в точках с целыми координатами внутри или на границе прямоугольника, противоположные углы которого находятся в точках (0, 0) и (W, Н)

Информатика

Ответы

Anna Artem
const n=6;
var 
  m,k,i: integer;
  var a: array[1..n] of integer;
begin
  m:=integer.MinValue;
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(20);
    write (a[i]:3);
    if a[i]>m
      then begin m:=a[i]; k:=i; end;
  end;
  writeln;  
  writeln ('Наибольший элемент массива: a[',k,'] = ',m);
end.

Исходный массив
  2  1 12 12 16  4
Наибольший элемент массива: a[5] = 16


const n=50;
var 
  sa: real;
  i,k: integer;
  var a: array[1..n] of integer;
begin
  sa:=0; k:=0;
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(3);
    write (a[i]:2);
    sa:=sa+a[i];
  end;
  sa:=sa/n;  
  writeln;
  writeln ('Среднее арифметическое = ',sa);
  writeln;
  writeln ('Элементы массива, равные среднему арифметическому:');
  for i:=1 to n do begin
    if a[i]=sa
      then begin writeln ('a[',i,'] = ',a[i]); k:=1; end;
  end;
  if k=0 then writeln ('Нет таких элементов');
end.

Исходный массив
 0 0 0 0 1 2 1 2 1 1 2 1 1 0 0 1 0 0 1 2 1 1 1 2 2 1 0 1 1 2 0 1 1 0 0 0 2 2 1 1 2 1 2 0 2 1 2 1 1 2
Среднее арифметическое = 1
Элементы массива, равные среднему арифметическому:
a[5] = 1
a[7] = 1
a[9] = 1
a[10] = 1
a[12] = 1
a[13] = 1
a[16] = 1
a[19] = 1
a[21] = 1
a[22] = 1
a[23] = 1
a[26] = 1
a[28] = 1
a[29] = 1
a[32] = 1
a[33] = 1
a[39] = 1
a[40] = 1
a[42] = 1
a[46] = 1
a[48] = 1
a[49] = 1

PS:
Как правило эта программа выводит пустой результат. Т.е. нет элементов, равных среднему арифметическому. Возможно что-то упущено в условии задачи.
borisrogovpr3407
#include <iostream>
#include <ctime>
#include <stdlib.h>
using namespace std;

double Sum(int *A, int N, int C, int M);

int main()
{
    srand(time(0));
    int N, C = 19, M = 30;
    cout << "N = ", cin >> N;
    int Train[N];
    for(int i = 0; i < N; i++)
        cout << (Train[i] = rand() % (M+1)) << " ";
    cout << "\nSum = " << Sum(&Train[0], N, C, M);;
    return 0;
}

double Sum(int*A, int N, int C, int M)
{
    double S = 0;
    int k = 0;
    for(int i = 0; i < N; i++)
    {
        S += A[i]*C;
        k +=M - A[i];
    }
    cout << "\nk = " << k;
    return S;
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Найдите количество невырожденных прямоугольников со сторонами, параллельными осям координат, вершины которых лежат в точках с целыми координатами внутри или на границе прямоугольника, противоположные углы которого находятся в точках (0, 0) и (W, Н)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Валиахметова
ИванМолчанов
Posadskii-Sergeevna
lazu8375
Джулия
eutenkova805
Юрьевна174
mashumi2170
nataliarogacheva
Sosovna Dmitrievich22
pak1998378
ooo-helpvet44
eoils-info
loa364
steger