Исправить код - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д