В нашем быстро развивающемся мире обработка данных и анализ числовой информации становятся все более важными навыками. Одним из основных инструментов в этом контексте является вычисление среднего значения. Программы для вычисления среднего значения введенных чисел являются неотъемлемой частью решения различных задач, начиная от статистического анализа данных и финансовых расчетов до научных и инженерных исследований. В данной статье мы поговорим о том, как создать программу вычисления среднего значения введенных чисел.
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"; }