Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
1

Проверка строк текстового файла на разные условия и вывод ошибок на экран

14.06.2017, 11:28. Показов 2192. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется текстовый файл такого вида -
************
3
1 2 3
3 2 1
2 1 3
1 2 3
. . .
1 2 3

************
3 в первой строке обозначает своего рода границу, далее идет до 1000 строк, в которых вперемешку через пробел расположены числа от 1 до 3. Если бы в первой строке была записана, например, цифра 4, то в последующих строках вперемешку бы были написаны числа от 1 до 4.
В чем суть задания - нужно проверить содержимое строк файла на соответствие условиям -
1) в строках должны быть только цифры
2) цифры не должны превышать цифру из первой строки
3) цифры должны разделяться пробелом
4) цифры не должны повторяться
Проверять до тех пор пока не достигнится лимит в 1000 строк(без учета первой строки с границей), либо пока не встретится пустая строка, либо пока не выявится "неправильная" строка. На экран выводить строки по порядку только те, что удовлетворяют условию. Как только встречается "неправильная" строка - выводится надпись с номером этой строки и сообщением о неверном формате строки, и дальнейшая проверка строк прекращается.

Прошу помочь, у самого уже бошка не варит, как все условия вместе уместить.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2017, 11:28
Ответы с готовыми решениями:

Структуры. Считывание строк из файла, проверка условия и вывод в файл
Добрый день. Пытаюсь найти ошибку в следующей задаче- Дан файл с информацией о номере заказа, дате...

Вывод текстового файла на экран порциями по 25 строк
Имеется длинный текстовой файл. Выведите его содержимое на экран порциями по 25 строк.

Вывод на экран в одну строку двух строк из текстового файла со вставленной между ними заданной строкой
Здравствуйте. Нубский вопрос, но вменяемый ответ найти не получилось. Суть дела такова: есть...

Проверка строк текстового файла
У меня имеется текстовый файл, в котором 9 строк заполнены информацией! Требуется выводить...

14
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
14.06.2017, 12:19 2
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
 
                    
public class Program
{
    public static void Main(string[] args)
    {
        using (var reader = new StreamReader("input.txt"))
        {
            var number = 0;
            
            if (!int.TryParse(reader.ReadLine(), out number))
            {
                return;
            }
            
            foreach (var i in Enumerable.Range(0, 1000))
            {
                try
                {
                    var numbers = reader.ReadLine().Split(' ').Select(int.Parse).ToArray();
                    
                    if (numbers.Any(x => x < 1 || x > number) || numbers.Distinct().Count() != numbers.Length)
                    {
                        return;
                    }
                    
                }
                catch (Exception e)
                {
                    return;
                }
            }
        }
    }
}
0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
14.06.2017, 14:07  [ТС] 3
Не работает. Просто пустая консоль.
0
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
14.06.2017, 14:09 4
Цитата Сообщение от BRAHAYFA Посмотреть сообщение
Не работает. Просто пустая консоль.
Добавь нужные консольные выводы сам.
0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
14.06.2017, 14:40  [ТС] 5
Если бы я знал как. Я с Enumerable не очень хорошо знаком. Я самоучка. Просто чтобы понять, что как работает, нужно пару примеров.
0
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
14.06.2017, 16:01 6
Цитата Сообщение от BRAHAYFA Посмотреть сообщение
Если бы я знал как. Я с Enumerable не очень хорошо знаком. Я самоучка. Просто чтобы понять, что как работает, нужно пару примеров.
Причем тут это? Я уже все за тебя сделал. Тебе осталось расставить Console.WriteLine в нужных местах. Не хочешь совсем ничего сам делать - иди во фриланс. Тебе все равно придется разбираться как работает этот код.
0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
14.06.2017, 16:33  [ТС] 7
Ясно...
Есть кто-нибудь адекватный, кто может объяснить выше написаный код и помочь с общей задачей?
0
Злой самаритянин
182 / 182 / 94
Регистрация: 24.04.2014
Сообщений: 686
14.06.2017, 16:59 8
Цитата Сообщение от BRAHAYFA Посмотреть сообщение
Ясно...
Есть кто-нибудь адекватный, кто может объяснить выше написаный код и помочь с общей задачей?
Тебе человек все сделал. Нужно только сделать вывод (это самые элементарные знания). Просто так, помочь хотел, а ты его неадекватом называешь.
А если код непонятен, выдели непонятный метод, нажми F1 и разбирай описание.

Не по теме:

За такое ведь по лицу бить полагается...

0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
15.06.2017, 08:15  [ТС] 9
Элементарные знания для кого? У меня образование программиста ограничено 10-11 классом школы...((((
0
Злой самаритянин
182 / 182 / 94
Регистрация: 24.04.2014
Сообщений: 686
15.06.2017, 10:02 10
Цитата Сообщение от BRAHAYFA Посмотреть сообщение
Элементарные знания для кого?
Для того, кто изучал C# хотя бы 10 минут.
1
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
15.06.2017, 13:43  [ТС] 11
Цитата Сообщение от SHIFT_969 Посмотреть сообщение
Для того, кто изучал C# хотя бы 10 минут.
Так, а я и не изучал. Максимум читал.
0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
20.06.2017, 16:43  [ТС] 12
Расставил Console.WriteLine
C#
1
var numbers = reader.ReadLine().Split(' ').Select(int.Parse).ToArray();
Выдает ошибку в этой строке - Ссылка на объект не указывает на экземпляр объекта

Добавлено через 7 часов 16 минут
Есть, кто может помочь с этой ошибкой?
0
Злой самаритянин
182 / 182 / 94
Регистрация: 24.04.2014
Сообщений: 686
20.06.2017, 17:00 13
BRAHAYFA, я ж не знаю, что у тебя попадает в эту строчку, тут отлаживать надо. Может ему пустая строка попадается?

Добавлено через 2 минуты
Скинь файл, который ты ему скармливаешь
0
-11 / 0 / 1
Регистрация: 10.04.2017
Сообщений: 41
21.06.2017, 08:59  [ТС] 14
Вот обычный текстовый файлик
Вложения
Тип файла: txt input.txt (52 байт, 6 просмотров)
0
Злой самаритянин
182 / 182 / 94
Регистрация: 24.04.2014
Сообщений: 686
21.06.2017, 11:21 15
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                try
                {
                    var numbers = reader.ReadLine().Split(' ').Select(int.Parse).ToArray();
 
                    if (numbers.Any(x => x < 1 || x > number) || numbers.Distinct().Count() != numbers.Length)
                    {
                        return;
                    }
                    if (reader.EndOfStream)
                    {
                        Console.WriteLine("Конец файла.");
                        return;
                    }
                }
0
21.06.2017, 11:21
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.06.2017, 11:21
Помогаю со студенческими работами здесь

Работа с матрицами: ввод/вывод, проверка условия для строк/столбцов и элементов
Добрый вечер всем! Помогите пожалуйста с прогой. Дано:Найти в матрице последнюю строку, все...

Проверка всех строк текстового файла
var t:text; a,str,b,x,k,y,max,nom,nm:integer; begin assign(t,'D:\1234\text.txt'); ...

Вывод на экран текстового файла
Добрый день, дорогие форумчане CyberForum, помогмте пожалуйста с заданием к программе: имеется сама...

Вывод матрицы из текстового файла на экран
Добрый вечер. Пришел с не большой проблемой. Записываю в файл матрицу Procedure enter(var...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru