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

Помогите, пожалуйста, написать код на C#

Zed Знаток (274), на голосовании 1 год назад
Во входном файле содержится две строки: первая содержит одно целое число N (количество чисел во второй), вторая строка содержит N вещественных чисел (каждое от 0 до 10^5).
В результате работы программы должен быть сформирован выходной файл, который содержит следующие значения:
1) максимальный элемент;
2) среднее арифметическое всех элементов;
3) модифицированный массив, в котором все элементы исходного, меньшие среднего арифметического, заменены на 0.

Вот мой код, но он работает не совсем верно:

using System;
using System.IO ;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
TextWriter save_out = Console.Out;
TextReader save_in = Console.In ;
var new_out = new StreamWriter(@"output.txt");
var new_in = new StreamReader(@"input.txt");
Console.SetOut(new_out);
Console.SetIn(new_in);

int N = Convert.ToInt32(Console.ReadLine());
string path = @"E:\LR_Four\LR_Four\bin\Debug\netcoreapp3.1\input.txt";

Random r = new Random();
int x = 0;
for (int j = 0; j < N; j++)
{
x = r.Next (10);
Console.Write(x + " ");
}

int i = 0;
int[] mas = new int[N];
string[] readText = File.ReadAllLines(path);
foreach (string s in readText)
{
mas[i] = int.Parse(s);
Console.WriteLine(N);
Console.WriteLine(s);
}

//Среднее арифметическое
int d = 0;
for (int t = 0; t < 10; t++)
{
d += mas[i];
}
d = d / N;
Console.WriteLine("Среднее арифметическое: " + d);

//Модифицированный массив
for (int t = 0; t < N; t++)
{
if (mas[i] < d)
{
mas[i] = 0;
}
}
Console.WriteLine("Модифицированный массив: " + mas);

Console.SetOut(save_out); new_out.Close();
Console.SetIn(save_in); new_in.Close();
}
}
}
Голосование за лучший ответ
Олег Олегович Просветленный (22847) 1 год назад
 using System; 
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
TextWriter save_out = Console.Out;
TextReader save_in = Console.In;
var new_out = new StreamWriter(@"output.txt");
var new_in = new StreamReader(@"input.txt");
Console.SetOut(new_out);
Console.SetIn(new_in);

int N = Convert.ToInt32(Console.ReadLine());

int i = 0;
int[] mas = new int[N];
string[] readText = Console.ReadLine().Split(' ');
foreach (string s in readText)
{
mas[i] = int.Parse(s);
i++;
}
//Максимальный элемент
Console.WriteLine("Максимальный элемент: " + mas.Max());

//Среднее арифметическое
double d = 0;
for (int t = 0; t < N; t++)
{
d += mas[t];
}
d = d / N;
Console.WriteLine("Среднее арифметическое: " + d);

//Модифицированный массив
for (int t = 0; t < N; t++)
{
if (mas[t] < d)
{
mas[t] = 0;
}
}
Console.WriteLine("Модифицированный массив: " + string.Join(" ", mas));

Console.SetOut(save_out); new_out.Close();
Console.SetIn(save_in); new_in.Close();
}
}
}
Олег ОлеговичПросветленный (22847) 1 год назад
input.txt
 6 
63 483 4964 4 90 6468
output.txt
 Максимальный элементе: 6468 
Среднее арифметическое: 2012
Модифицированный массив: 0 0 4964 0 0 6468
Похожие вопросы