Назад с другим вопросом C#.Как выводить наименьшее число в массиве (также, чтобы увидеть, если я делаю это правильно)
Вот моя текущая задача:
Определение проблемы: компьютерная программа, которая позволяет читать ежедневные часы припаркованных клиентами. Есть 30 записей для часов парковки клиентов (целые числа), хранящихся в файле данных «hours.txt». Вы должны прочитать файл и сохранить данные в массиве. Рассчитайте самый высокий, самый низкий и средний дневной паркинг.
Образец данных: 30 парковочных часов: {8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15 , 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8}
высокие часа парковки = 24
минимальных часов парковки = 1
Среднее количество часов парковки = 9,13
Общие задачи: Чтение файла данных «hours.txt» в массив данных типа целое
Найти наибольшее значение
Найти наименьшее значение
Рассчитайте среднее
Выходной массив часов, высокий, самый низкий и средний (отформатирован до 2 знаков после запятой)
Примечание: Поскольку тема «файлы» не распространяется до сеанса 6, пока объявите свой rray и присвоить номера, как показано ниже int [] hoursArray = {8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15 , 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8}; В сеансе 6 вам нужно будет изменить свой код, чтобы данные считывались из файла hours.txt.
Итак, из этого я собираюсь запустить программу, которая выплескивает средний, самый высокий и самый низкий из введенных часов. Обратите внимание, что в нем говорится использовать данные из текстового файла, но в дальнейшем говорит, что это для другой темы, поэтому я этого не сделал. Вместо этого я решил вручную ввести 30 цифр.
Первый вопрос я полагаю, это то, что правильно, или есть способ, который с помощью
INT [] hoursArray = {8, 24, 9, 7, 6, 12, 10, 11 , 23, 1, 2, 9, 8, 8, 9, 7, 9, 15, 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8};
данные вводятся автоматически без ввода пользователем вручную цифр? Не уверен, правильно ли я прочитал эту задачу.
Второй вопрос - вот код, который я сделал. Я могу успешно вывести среднее и самое высокое значение, но, похоже, я не могу вывести наименьшее значение ниже 8 (т. Е. Значение 1 в нем). Как это исправить?
Мой код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IntsArray
{
class Program
{
static void Main(string[] args)
{
int[] hours;
hours = new int[30];
int[] hoursArray = { 8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15, 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8 };
hours[0] = 8;
hours[1] = 24;
hours[2] = 9;
hours[3] = 7;
hours[4] = 6;
hours[5] = 12;
hours[6] = 10;
hours[7] = 11;
hours[8] = 23;
hours[9] = 1;
hours[10] = 2;
hours[11] = 9;
hours[12] = 8;
hours[13] = 8;
hours[14] = 9;
hours[15] = 7;
hours[16] = 9;
hours[17] = 15;
hours[18] = 6;
hours[19] = 1;
hours[20] = 7;
hours[21] = 6;
hours[22] = 12;
hours[23] = 10;
hours[24] = 11;
hours[25] = 23;
hours[26] = 1;
hours[27] = 2;
hours[28] = 9;
hours[29] = 8;
for (int index = 0; index < hours.Length; index++)
{
Console.Write("Enter your hours: ");
hours[index] = int.Parse(Console.ReadLine());
}
int total = 0;
double average = 0;
for (int index = 0; index < hours.Length; index++)
{
total = total + hours[index];
}
average = (double)total/hours.Length;
Console.WriteLine("Average = " + average.ToString("N2"));
int high = hours[0];
for (int index = 1; index < hours.Length; index++)
{
if (hours[index] > high)
{
high = hours[index];
}
}
Console.WriteLine("Highest number = " + high);
int low = hours[0];
for (int index = 0; index > hours.Length; index++)
{
if (hours[index] < low)
{
low = hours[index];
}
}
Console.WriteLine("Lowest number = " + low);
Console.ReadKey();
}
}
}
Спасибо заранее :)
насчет мин() макс() и average() –
Чтобы получить меньшее число, изменить меньшее число для условия цикла 'index> hours.length' to' index
@ не повезло, что сработало минимум, большое вам спасибо! Любой комментарий по моему первому вопросу за шанс? – purplemonkeydishwasher