Программа вычисления среднего значения введенных чисел

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

C++

Пример программы на C++, которая читает до 10 значений в массив double, останавливая ввод при получении нечисловой величины, и затем вычисляет среднее значение и количество значений в массиве, превышающих среднее:

#include <iostream>
#include <vector>

int main() {
    std::vector<double> values;
    double value;
    double sum = 0;
    int count = 0;

    std::cout << "Введите до 10 чисел (прекратите ввод, введя нечисловую величину):\n";

    while (count < 10) {
        if (std::cin >> value) {
            values.push_back(value);
            sum += value;
            count++;
        } else {
            break; // Прекратить ввод при нечисловой величине
        }
    }

    if (count > 0) {
        double average = sum / count;

        std::cout << "Среднее значение: " << average << std::endl;
        std::cout << "Количество значений, превышающих среднее: ";

        int aboveAverageCount = 0;
        for (double val : values) {
            if (val > average) {
                aboveAverageCount++;
            }
        }

        std::cout << aboveAverageCount << std::endl;
    } else {
        std::cout << "Нет введенных чисел." << std::endl;
    }

    return 0;
}

Эта программа использует вектор для хранения введенных чисел, вычисляет среднее значение и затем подсчитывает количество значений, превышающих среднее. Программа завершает ввод, если получает нечисловую величину или если уже введено 10 чисел.

C#

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<double> values = new List<double>();
        double sum = 0;
        int count = 0;

        Console.WriteLine("Введите до 10 чисел (прекратите ввод, введя нечисловую величину):");

        while (count < 10)
        {
            if (double.TryParse(Console.ReadLine(), out double value))
            {
                values.Add(value);
                sum += value;
                count++;
            }
            else
            {
                break; // Прекратить ввод при нечисловой величине
            }
        }

        if (count > 0)
        {
            double average = sum / count;

            Console.WriteLine("Среднее значение: " + average);
            int aboveAverageCount = 0;

            foreach (double val in values)
            {
                if (val > average)
                {
                    aboveAverageCount++;
                }
            }

            Console.WriteLine("Количество значений, превышающих среднее: " + aboveAverageCount);
        }
        else
        {
            Console.WriteLine("Нет введенных чисел.");
        }
    }
}

Эта программа использует список (List) для хранения введенных чисел, вычисляет среднее значение и затем подсчитывает количество значений, превышающих среднее. Программа завершает ввод, если получает нечисловую величину или если уже введено 10 чисел.

Python

values = []
count = 0
sum_values = 0

print("Введите до 10 чисел (прекратите ввод, введя нечисловую величину):")

while count < 10:
    try:
        value = float(input())
        values.append(value)
        sum_values += value
        count += 1
    except ValueError:
        break  # Прекратить ввод при нечисловой величине

if count > 0:
    average = sum_values / count
    print(f"Среднее значение: {average}")
    above_average_count = sum(1 for value in values if value > average)
    print(f"Количество значений, превышающих среднее: {above_average_count}")
else:
    print("Нет введенных чисел.")

Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double[] values = new double[10];
        int count = 0;
        double sum = 0;

        System.out.println("Введите до 10 чисел (прекратите ввод, введя нечисловую величину):");

        while (count < 10) {
            if (scanner.hasNextDouble()) {
                values[count] = scanner.nextDouble();
                sum += values[count];
                count++;
            } else {
                break; // Прекратить ввод при нечисловой величине
            }
        }

        if (count > 0) {
            double average = sum / count;
            System.out.println("Среднее значение: " + average);
            int aboveAverageCount = 0;

            for (int i = 0; i < count; i++) {
                if (values[i] > average) {
                    aboveAverageCount++;
                }
            }

            System.out.println("Количество значений, превышающих среднее: " + aboveAverageCount);
        } else {
            System.out.println("Нет введенных чисел.");
        }
    }
}

Эта программа использует массив double для хранения введенных чисел, вычисляет среднее значение и затем подсчитывает количество значений, превышающих среднее. Программа завершает ввод, если получает нечисловую величину или если уже введено 10 чисел.

Pascal

program AverageAndCountAboveAverage;

const
  MaxValues = 10;

var
  values: array[1..MaxValues] of Double;
  count, i: Integer;
  sum, average: Double;
  input: String;

begin
  count := 0;
  sum := 0;

  Writeln('Введите до 10 чисел (прекратите ввод, введя нечисловую величину):');
  while (count < MaxValues) do
  begin
    Readln(input);
    if TryStrToFloat(input, values[count + 1]) then
    begin
      sum := sum + values[count + 1];
      count := count + 1;
    end
    else
      Break;  // Прекратить ввод при нечисловой величине
  end;

  if (count > 0) then
  begin
    average := sum / count;
    Writeln('Среднее значение: ', average:0:2);
    i := 0;
    for i := 1 to count do
    begin
      if values[i] > average then
        count := count + 1;
    end;

    Writeln('Количество значений, превышающих среднее: ', i);
  end
  else
    Writeln('Нет введенных чисел.');
end.

Эта программа использует массив values для хранения введенных чисел, вычисляет среднее значение и затем подсчитывает количество значений, превышающих среднее. Программа завершает ввод, если получает нечисловую величину или если уже введено 10 чисел.

JavaScript

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

const values = [];
let count = 0;
let sum = 0;

console.log("Введите до 10 чисел (прекратите ввод, введя нечисловую величину):");

function processInput(input) {
  const value = parseFloat(input);

  if (!isNaN(value)) {
    values.push(value);
    sum += value;
    count++;

    if (count < 10) {
      rl.question("", processInput);
    } else {
      rl.close();

      if (count > 0) {
        const average = sum / count;
        console.log("Среднее значение: " + average.toFixed(2));

        const aboveAverageCount = values.filter(val => val > average).length;
        console.log("Количество значений, превышающих среднее: " + aboveAverageCount);
      } else {
        console.log("Нет введенных чисел.");
      }
    }
  } else {
    rl.close();
    console.log("Прекратите ввод при нечисловой величине.");
  }
}

rl.question("", processInput);

Этот код использует Node.js и модуль readline для интерактивного ввода с консоли.

PHP

<?php

$values = array();
$count = 0;
$sum = 0;

echo "Введите до 10 чисел (прекратите ввод, введя нечисловую величину):\n";

while ($count < 10) {
    $input = trim(fgets(STDIN));

    if (is_numeric($input)) {
        $value = (double)$input;
        $values[] = $value;
        $sum += $value;
        $count++;
    } else {
        break; // Прекратить ввод при нечисловой величине
    }
}

if ($count > 0) {
    $average = $sum / $count;
    echo "Среднее значение: " . number_format($average, 2) . "\n";

    $aboveAverageCount = 0;
    foreach ($values as $value) {
        if ($value > $average) {
            $aboveAverageCount++;
        }
    }

    echo "Количество значений, превышающих среднее: " . $aboveAverageCount . "\n";
} else {
    echo "Нет введенных чисел.\n";
}
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Давайте поможем друг другу! Если вы нашли ошибку или хотите предложить лучшее решение, пожалуйста, напишите об этом в комментариях.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *