Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите исправить ошибку, пожалуйста. Программа не выводит значения и знак $ не принимает.

Eva Shishkalova Знаток (265), на голосовании 5 месяцев назад
Даны натуральное число N и последовательность A1, A2, …,A N. Определить наибольшее и наименьшее значения, полученные значения рассматривать как концы отрезка. Разбить отрезок на 5 интервалов и посчитать частоту попадания элементов последовательности в каждый из этих интервалов.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
{
Random rand = new Random();

// Генерируем массив случайных чисел
Console.Write("Введите количество элементов в последовательности: ");
int N = Convert.ToInt32(Console.ReadLine());
int[] sequence = new int[N];
for (int i = 0; i < N; i++)
{
sequence[i] = rand.Next (1, 101);
}

// Находим наибольшее и наименьшее значения
int max = sequence[0];
int min = sequence[0];
for (int i = 1; i < N; i++)
{
if (sequence[i] > max)
max = sequence[i];
if (sequence[i] < min)
min = sequence[i];
}

// Делим отрезок на 5 интервалов
int intervalSize = (max - min) / 5;
int[] intervals = new int[5];

// Считаем частоту попадания элементов в каждый интервал
for (int i = 0; i < N; i++)
{
for (int j = 0; j < 5; j++)
{
if (sequence[i] >= min + j*intervalSize && sequence[i] < min + (j+1)*intervalSize)
{
intervals[j]++;
break;
}
}
}

// Выводим результаты
Console.WriteLine($"Наибольшее значение: " + max);
Console.WriteLine($"Наименьшее значение: " + min);
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Интервал {min + i*intervalSize}-{min + (i+1)*intervalSize}: {intervals[i]} элементов");

Console.ReadKey();
}
}
}
}
Голосование за лучший ответ
Татьяна Просветленный (36374) 6 месяцев назад
 using System; 

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Random rand = new Random();

// Генерируем массив случайных чисел
Console.Write("Введите количество элементов в последовательности: ");
int N = Convert.ToInt32(Console.ReadLine());
int[] sequence = new int[N];
for (int i = 0; i < N; i++)
{
sequence[i] = rand.Next(1, 101);
}

// Находим наибольшее и наименьшее значения
int max = sequence[0];
int min = sequence[0];
for (int i = 1; i < N; i++)
{
if (sequence[i] > max)
max = sequence[i];
if (sequence[i] < min)
min = sequence[i];
}

// Делим отрезок на 5 интервалов
int intervalSize = (max - min) / 5;
int[] intervals = new int[5];

// Считаем частоту попадания элементов в каждый интервал
for (int i = 0; i < N; i++)
{
for (int j = 0; j < 5; j++)
{
if (sequence[i] >= min + j * intervalSize && sequence[i] < min + (j + 1) * intervalSize)
{
intervals[j]++;
break;
}
// For the last interval, include the max value
if (j == 4 && sequence[i] >= min + j * intervalSize && sequence[i] <= min + (j + 1) * intervalSize)
{
intervals[j]++;
break;
}
}
}

// Выводим результаты
Console.WriteLine($"Наибольшее значение: {max}");
Console.WriteLine($"Наименьшее значение: {min}");
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Интервал {min + i * intervalSize}-{min + (i + 1) * intervalSize}: {intervals[i]} элементов");
}

Console.ReadKey();
}
}
}

Результат выполнения программы:
e о Мастер (1195) 6 месяцев назад
Вставлять код обычным текстом, когда в майл ответах есть для этого специальный формат - это свинство
Jurijus Zaksas Искусственный Интеллект (445791) 6 месяцев назад
>знак $ не принимает.
ПХПшного вида строки поддерживаются C# уже лет 7 как. Обнови версию языка.
qwertyplo Мастер (1637) 6 месяцев назад
не работает $ - не используйте $
 // Выводим результаты    
Console.WriteLine("Наибольшее значение: " + max);
Console.WriteLine("Наименьшее значение: " + min);
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Интервал " + (min + i * intervalSize) + "-" + (min + (i + 1) * intervalSize) + ": " + intervals[i] + " элементов");

Console.ReadKey();
}
Похожие вопросы