0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 45
1

В текстовом файле найти все даты с наименьшим номером года

25.06.2016, 09:43. Показов 2859. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан файл f, содержащий различные даты. Каждая дата - это число, месяц и год. Найти все даты с наименьшим номером года.
объясните как обратиться к файлу? и если у меня каждая дата с новой строки, то как мне индексировать указатель на некий элемент?
и, собственно, как организовать бинарный доступ к каждому элементу, чтобы по нему происходил поиск, но выводились даты в своем виде (календарном)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2016, 09:43
Ответы с готовыми решениями:

Файл: В файле, содержащем различные даты, найти год с наименьшим номером
Дан файл f, Содержащий различные даты. Каждая дата - это число, месяц и год. Найти год с найменшым...

Записи: Найти год с наименьшим номером, все весенние даты, самую позднюю дату
Дан файл f, содержащий различные даты. Каждая дата это число месяц и год. Найти: 1) год с...

В файле найти год с наименьшим номером
ПОМОГИТЕ!! ЗАДАНИЕ НА JAVA дан файл содержащий различные даты Каждая дата это число месяц и год...

Дан файл, содержащий различные даты. Каждая дата — это число, месяц и год. Найти год с наименьшим номером
Уважаемые, программисты, очень прошу помощи по данным заданиям. Нужно сделать кто какие сможет....

5
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
25.06.2016, 11:25 2
Что вы подразумеваете под "бинарный доступ к каждому элементу"? У вас файл текстовый или бинарный?
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 45
25.06.2016, 11:34  [ТС] 3
текстовый... вот у меня часть кода, она еще нерабочая, но примерно в том духе надо...
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleToFile
{
    class Program
    {
        static void Main(string[] args)
        {
 
            FileStream file1 = new FileStream("E:\\gt.txt", FileMode.Open);
            StreamReader reader = new StreamReader(file1, Encoding.UTF8);
            string s = reader.ReadToEnd();
 
            string[] str = s.Split(' ','.');
            int d, m, y,i=0;
            d = Convert.ToInt32(str[i]); i++;
            m = Convert.ToInt32(str[i]); i++;
            y = Convert.ToInt32(str[i]); 
            FileStream fs = new FileStream(@"E:\Практика. Булгаков\2.txt", FileMode.Open);
            BinaryReader br = new BinaryReader(fs);
            int mindate = 0;
            int k=0;
            br.BaseStream.Position = k;
            Console.WriteLine("список дат: ", br);
            while (k != br.BaseStream.Length)
            {
                 if(k < mindate)
                     br.BaseStream.Position=mindate;
            }
           Console.WriteLine();
            Console.WriteLine("наименьший год: {0}", mindate);
            br.Close();
            fs.Close();
            Console.ReadKey();
        }
    }
}
вот информация в текстовом файле:
21 12 2000
12 04 1995
31 12 2001

должно вывести год, с наименьшим НОМЕРОМ (проверка через бинарный код, видимо) года
типа если 2000 это там 101001, и это наименьший номер среди всех годов, то вывести его
0
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
25.06.2016, 12:54 4
Лучший ответ Сообщение было отмечено b_boy_arny как решение

Решение

C#
1
2
3
var dates=File.ReadAllLines(@"путь\к\файлу");
int min_year=dates.Select(x=>int.Parse(x.Split(new char[]{' '})[2])).Min();
Console.WriteLine (min_year);
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 45
25.06.2016, 13:35  [ТС] 5
выде\ает исключительную ошибку
Цитата Сообщение от slashvlz Посмотреть сообщение
(x=>int.Parse(x.Split(new char[]{' '})[2])).Min();
0
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
25.06.2016, 14:01 6
b_boy_arny, Значит у вас формат файла не такой как вы сказали, попробуйте так:
C#
1
2
3
4
5
int year=int.MaxValue;
var min_year=dates.Select(x=>x.Split(new string[]{" "}, StringSplitOptions.RemoveEmptyEntries)).
            Where(y=>y.Length==3&&int.TryParse(y[2],out year)).
            Select(z=>year).Min();
Console.WriteLine (min_year);
0
25.06.2016, 14:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2016, 14:01
Помогаю со студенческими работами здесь

Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти год с наименьшим номером.
Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти год с наименьшим...

Найдите в файле год с наименьшим номером
*Дан файл f,*содержащий различные даты. Каждая дата-*это число,*месяц и год. Найдите: год с...

Для указанного года найти все даты, попадающие на воскресенье, и все месяцы, начинающиеся с понедельника
Всем привет,нуждаюсь в помощи этой программы.Не понимаю как это сделать,спасибо откликнувшимся....

Найти в текстовом файле самое длинное слово и записать его во второй файл с указанием номера строки и номером слова
Найти в текстовом файле самое длинное слово и записать его во второй файл с указанием номера строки...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru