Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
jeka2100
8 / 8 / 0
Регистрация: 11.10.2017
Сообщений: 46
1

Файлы и директории. Потоки данных

29.01.2018, 13:36. Просмотров 856. Ответов 6
Метки нет (Все метки)

Ввести с клавиатуры файл F действительных чисел. Компоненты файла, стоящие между наибольшим и наименьшим компонентом, переставить в обратном порядке и записать новую последовательность в новый файл.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2018, 13:36
Ответы с готовыми решениями:

Файлы и директории
Здравствуйте. У меня есть несколько вопросов по поводу работы с файлами и директориями (топ темы...

Как отличить PE-файлы в директории от остальных
Есть директория, например, c:/windows/system32. В ней имеется большое количество файлов (over...

Как открывать случайные файлы из директории?
Как открывать случайные файл из директории в C# ?

Перечислить файлы определённого расширения в директории
Нужно получить количество файлов определённого расширения в папке. Файлы находятся в одной папке с...

Как найти файлы в директории с заданными расширениями
Здравствуйте, как можно найти все файлы в директории с указанными расширениями? Я знаю есть...

6
sharpdev08
Заблокирован
29.01.2018, 13:57 2
А что есть на текущий момент?
0
jeka2100
8 / 8 / 0
Регистрация: 11.10.2017
Сообщений: 46
29.01.2018, 14:36  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
            string path = @"C:\prog";
            string subpath = @"laboratornaya1";
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            if (!dirInfo.Exists)
            {
                dirInfo.Create();
            }
            dirInfo.CreateSubdirectory(subpath);
            StreamWriter sw = new StreamWriter("C:\\prog\\laboratornaya1\\F.txt");
            Console.Write("Введите действительные числа: ");
            sw.WriteLine(Int32.Parse(Console.ReadLine()));
Создание файла работает, но не записывает в него текст, который я ввожу в консоль.
0
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 354
Завершенные тесты: 2
29.01.2018, 16:42 4
Лучший ответ Сообщение было отмечено jeka2100 как решение

Решение

Цитата Сообщение от jeka2100 Посмотреть сообщение
но не записывает в него текст
C#
1
2
3
4
5
6
7
8
9
10
11
string line = null;
using (StreamWriter sw = new StreamWriter("C:\\prog\\laboratornaya1\\F.txt", true, Encoding.Default))
    {
    while(true)
    {
     line = Console.ReadLine();
     if(line == "")
        break;   
     sw.WriteLine(line);
    }
}
Не проверял, но наверное работает
1
jeka2100
8 / 8 / 0
Регистрация: 11.10.2017
Сообщений: 46
29.01.2018, 17:26  [ТС] 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            //Создание директории
            string path = @"C:\prog";
            string subpath = @"laboratornaya1";
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            if (!dirInfo.Exists)
            {
                dirInfo.Create();
            }
            dirInfo.CreateSubdirectory(subpath);
            //Создание файла с числами
            Console.Write("Введите действительные числа: ");
            string text = Console.ReadLine();
            string F = @"C:\prog\laboratornaya1\F.txt";
            FileInfo file = new FileInfo(F);
            if (file.Exists)
            {
                File.Delete(F);
                File.WriteAllText(F, text);
            }
            else
            {
                File.WriteAllText(F, text);
            }
Пока вот так сделал, теперь нужно работать со строкой.
Компоненты файла, стоящие между наибольшим и наименьшим компонентом, переставить в обратном порядке.
0
jeka2100
8 / 8 / 0
Регистрация: 11.10.2017
Сообщений: 46
05.02.2018, 18:48  [ТС] 6
Никто не знает?
0
jeka2100
8 / 8 / 0
Регистрация: 11.10.2017
Сообщений: 46
09.02.2018, 22:42  [ТС] 7
Сделал задание, получилось немного криво, но работает.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\prog";
            string subpath = @"laboratornaya1";
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            if (!dirInfo.Exists)
            {
                dirInfo.Create();
            }
            dirInfo.CreateSubdirectory(subpath);
            
            Console.Write("Введите действительные числа: ");
            string text = Console.ReadLine();
            string F = @"C:\prog\laboratornaya1\F.txt";
            FileInfo file = new FileInfo(F);
            if (file.Exists)
            {
                File.Delete(F);
                File.WriteAllText(F, text);
            }
            else
            {
                File.WriteAllText(F, text);
            }
            string text1 = File.ReadAllText(F);
 
 
            string[] split = text1.Split(' ');
 
            Console.WriteLine("Максимальное значение: {0}\nМинимальное значение: {1}", split.Max(), split.Min());
            int nummax = 0;
            for (int i = 0; i < split.Length; i++)
            {
                if (split[i] == split.Max())
                {
                    nummax = i + 1;
                }
            }
            int nummin = 0;
            for (int i = 0; i < split.Length; i++)
            {
                if (split[i] == split.Min())
                {
                    nummin = i + 1;
                }
            }
 
            string textsub = text.Substring(nummin + 1, (nummax - nummin) * 2 - 3);
            Console.WriteLine("{0} - числа между наименьшим и наибольшим", textsub);
 
            string s = "";
            for (int i = textsub.Length - 1; i >= 0; i--)
                s += textsub[i];
            Console.WriteLine("{0} - обратный порядок",s);
 
            string done = text.Replace(textsub, s);
            Console.WriteLine("{0} - полученная строка",done);
 
            Console.WriteLine("{0} - было дано", text1);
 
            string F1 = @"C:\prog\laboratornaya1\F1.txt";
            FileInfo file2 = new FileInfo(F1);
            if (file2.Exists)
            {
                File.Delete(F1);
                File.WriteAllText(F1, done);
            }
            else
            {
                File.WriteAllText(F1, done);
            }
 
            Console.ReadKey();
        }
    }
}
0
09.02.2018, 22:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2018, 22:42

Программа, которая считывает файлы с заданной директории
У меня есть такие задания...и я просто непонимаю их...можете мне их обяснить? 1. написать...

В директории файловой системы найти дублирующиеся по содержимому файлы
Здравствуйте, имеется задача: &quot;В директории файловой системы найти дублирующиеся по содержимому...

Удалить все файлы заданного расширения в текущей директории кроме
Удалить все файлы заданного расширения в текущей директории кроме последнего. Подгружаются файлы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru