М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Шынарай111
Шынарай111
23.08.2021 08:30 •  Информатика

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

👇
Открыть все ответы
Ответ:
#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
4,4(25 оценок)
Ответ:
cvetok555
cvetok555
23.08.2021
Задачка, конечно, простейшая, но и на ней можно проследить состояние изучения программирования в наших школах.

{ 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, который для уровня школьных задач можно считать совместимым на уровне исходного текста с вышеприведенными версиями паскалей.
4,7(80 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ