Volkovapavel
?>

Написать программу, которая запрашивает массив из N элементов и увеличивает все элементы массива на максимальный элемент.​

Информатика

Ответы

ilkindadashov935232
#include <stdio.h>
#include <stdlib.h>

int main()
{
int n=10, k;
int a[n];
int max = 20, min = -20;
int sum=0;
printf("k (<=10) = "); scanf("%d",&k);

srand (time(NULL));
for (int i=0; i<n; i++) {
 a[i] = (float) rand() / RAND_MAX*(max-min)+min;
 printf ("%d ", a[i]);
}
printf("\n");
for (int i = 0; i<k; i++) sum+=a[i];
printf("sum (1..%d) = %d\n", k,sum);
for (int i=1; i<=n-k; i++) {
 sum = sum-a[i-1]+a[i+k-1];
 printf("sum (%d..%d) = %d\n", i+1, i+k, sum);
}
return 0;
}

Пример:
k (<=10) =  5-10 1 -11 -10 16 6 -1 -15 -19 9
sum (1..5) = -14
sum (2..6) = 2
sum (3..7) = 0
sum (4..8) = -4
sum (5..9) = -13
sum (6..10) = -20
alexandr25901
Задачка, конечно, простейшая, но и на ней можно проследить состояние изучения программирования в наших школах.

{ 1. Borland (Turbo) Pascal 7.0, 1994г., статический массив }

uses Crt;
const
  nn=1000;
var
  i,n,mn:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  ClrScr;
  Write('n='); Read(n);
  mn:=1000;
  for i:=1 to n do begin
    a[i]:=Random(199)-99;
    Write(a[i],' ');
    if a[i]<mn then mn:=a[i]
    end;
  Writeln;
  Writeln('Наим. элемент ',mn);
  ReadKey
end.

Выполнение приведено во вложении 1.

// 2. Free Pascal 3.0.0, 2015г., динамический массив

uses Crt;
var
  i,n,mn:integer;
  a:array of integer;
begin
  Randomize;
  ClrScr;
  Write('n='); Read(n);
  SetLength(a,n);
  mn:=1000;
  for i:=0 to n-1 do begin
    a[i]:=Random(199)-99;
    Write(a[i],' ');
    if a[i]<mn then mn:=a[i]
    end;
  Writeln;
  Writeln('Наим. элемент ',mn);
  ReadKey
end.

Выполнение приведено во вложении 2

// 3. PascalABC.NET 3.2, 2016г., современное решение

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99);
  a.Println;
  Writeln('Наим. элемент ',a.Min)
end.

Выполнение приведено во вложении 3.

Сделать выводы каждый может сам...

Примечание: все решения сделаны в среде PascalABC.NET 3.2, который для уровня школьных задач можно считать совместимым на уровне исходного текста с вышеприведенными версиями паскалей.

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

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

Написать программу, которая запрашивает массив из N элементов и увеличивает все элементы массива на максимальный элемент.​
Ваше имя (никнейм)*
Email*
Комментарий*

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

xsmall1
mansur071199486
Викторовна
Елена Ирина
NarekAlekseevich779
Magnolia200872
mariyachervonnaya44
Demina-Khokhlov584
banketvoshod
sergeychelyshev197618
dilbaryan76
shchepinasm
proporcia46
vikola2008
loa364