Логотип сайта

Подготовка к ЕГЭ и ОГЭ

  • Главная
  • Информация о сайте
  • Сочинения ЕГЭ
  • Выпускное сочинение
  • Поиск по сайту

Дан массив..Находит номер элемента массива

Категория: Язык программирования: Паскаль

Задание:

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать любые целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента массива, наименее отличающегося от среднего арифметического всех его элементов. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль

  1. const N=30; 
  2. var a: array [1..N] of integer; 
  3.     i, k: integer; 
  4.     s, min: real; 
  5. begin
  6.   for i:=1 to N do readln(a[i]); 
  7.   ...
  8. end.

Си

  1. #include<stdio.h> 
  2. int main(void) { 
  3.     const int N=30; 
  4.     int a[N]; 
  5.     int i, k; 
  6.     float s, min; 
  7.     for (i=0; i<N; i++)
  8.       scanf(″%d″, &a[i]); 
  9.   ...
  10. }

Естественный язык

Объявляем массив A из 30 элементов. Объяв-ляем целочисленные переменные i, k.
Объявляем действительные переменные s, min.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
...

 Решение:

Сначала нужно найти (в переменной s) среднее арифметическое всех элементов массива – считаем в цикле их сумму и делим на N. Затем перебираем во втором цикле все элементы массива и ищем тот, для которого модуль разности этого элемента и среднего арифметического наименьший.

Решение на естественном языке. Записываем в переменную s начальное значение 0. В цикле для всех элементов с 1-го до 30-го добавляем значение текущего элемента к переменной s. После окончания цикла делим значение переменной s на N, таким образом, получаем в переменной s среднее арифметическое всех элементов массива. Записываем в переменную k начальное значение 1. В цикле рассматриваем все элементы со 2-ого до 30-ого, если модуль разности текущего элемента и переменной s меньше, чем модуль аналогичной разности для k-ого элемента, записываем в переменную k номер текущего элемента. После окончания цикла выводим значение переменной k.

Решение на Паскале. 

const N = 30;
var a : array[1..N] of integer;
i, k: integer;
s, min: real;

begin
for i: = 1 to N do readln(a[i]);
 s: = 0;
for i: = 1 to N do s : = s + a[i];
 s: = s / N;
k: = 1;
for i: = 2 to N do
 if abs(a[i] - s) < abs(a[k] - s) then
 k : = i;
writeln(k)
end. 
Похожие материалы
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив из 20 элементов...
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив..Элементы массива могут..
  • Дан целочисленный массив из 31 элемента...
  • Дан целочисленный массив из 30 элементов...
  • 1
  • 2
  • 3
  • 4
  • 5
Оценка: 2.8 из 20

💬 Чат ЕГЭ В Telegram. Вступить

Copyright Vopvet.Ru © 2025 Хостинг от uWeb