Исправить код - C# (188801)

Узнай цену своей работы

Формулировка задачи:

Не могу сделать для вещественных чисел(в коде для целочисленных). И бывает вылеты когда вводишь числа(а иногда и все нормально)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        q:
            Console.WriteLine("Нажмите на: ");
            Console.WriteLine("1 - работа с задачей");
            Console.WriteLine("2 - для очищения файлов");
            Console.WriteLine("3 - Выход...");
            int z = int.Parse(Console.ReadLine());
            switch (z)
            {
                case 1:
                    {
                        Console.WriteLine("Введите числа: ");
                        string s = Console.ReadLine();
                        for (int i = 0; i < s.Length; i++)
                        {
                            while (char.IsLetter(s[i]))
                            {
                                Console.WriteLine("Введите числа пожалуйста!!!");
                                s = Console.ReadLine();
                            }
                            continue;
                        }
                        bool f = true;
                        StreamWriter write_text1;
                        FileInfo file1 = new FileInfo(@"C:\\Users\\Валера\\Desktop\\Исходный_файл.dat");
                        write_text1 = file1.AppendText();
                        write_text1.Write("" + s);
                        write_text1.Close();
 
                        FileInfo file2 = new FileInfo(@"C:\\Users\\Валера\\Desktop\\Конечный_файл.dat");
 
                        StreamReader read1 = new StreamReader(@"C:\\Users\\Валера\\Desktop\\Исходный_файл.dat");
                        string s1 = read1.ReadToEnd();
                        read1.Close();
                        Console.Write("Текст из файла: " + s1);
                        Console.WriteLine();
                        for (int i = 0; i < s1.Length - 1; i++)
                        {
                            if (s1[i] > s1[i + 1])
                            {
                                if (s1[i] > s1[i - 1])
                                {
                                    f = true;
                                    Console.WriteLine("В файл записываются: " + s1[i]);
                                    StreamWriter write_text;
                                    write_text = file2.AppendText();
                                    write_text.Write(" " + s1[i]);
                                    write_text.Close();
                                }
 
                            }
                            else f = false;
                        }
                        if (f == false) Console.WriteLine("Нет таких чисел!!!");
                    }
                    break;
                case 2:
                    {
                        FileInfo file1 = new FileInfo(@"C:\\Users\\Валера\\Desktop\\Исходный_файл.dat");
                        FileInfo file2 = new FileInfo(@"C:\\Users\\Валера\\Desktop\\Конечный_файл.dat");
 
                        file1.Delete();
                        file2.Delete();
 
                        Console.WriteLine("Файлы очищены.");
                        goto q;
                    }
                case 3:
                    {
                        string w = "да";
                        Console.WriteLine("Точно хотите выйти?(да/нет)");
                        string v = Console.ReadLine();
                        if (v == w)
                        {
                            //Console.WriteLine("До свидания.");
                            break;
                        }
                        else goto q;
                    }
            }
            Console.ReadKey();
        }
    }
}

Решение задачи: «Исправить код»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApplication3
{
    class Program
    {
 
        static void Main(string[] args)
        {
            string values = File.ReadAllText("D:\\input.txt");
            double[] valArray = values.Split(' ').Select(val => double.Parse(val)).ToArray();
            Console.WriteLine("Данные из файла");
            for (int i = 0;i<valArray.Length;i++)
            {
                Console.Write("{0} ", valArray[i]);
            }
            Console.WriteLine("");
            using (StreamWriter sw = new StreamWriter("D:\\output.txt"))
            {
                Console.WriteLine("Локальные максимумы");
                for (int i = 1; i < valArray.Length-1; i++)
                {
                    if ((valArray[i]> valArray[i-1]) && (valArray[i] > valArray[i + 1]))
                    {
                        sw.Write(i.ToString() + " ");
                        Console.Write(i.ToString() + " ");
                    }
                }
            }
                Console.ReadKey();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы