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

Чтение данных в массив(с выводом на экран) и алгоритм прямого поиска (по имени)

29.11.2018, 12:18. Просмотров 1552. Ответов 4

Здравствуйте , помогите пожалуйста решить проблему.
1) Дан текстовый файл x.txt , в нем построчно записаны данные : иванов иван 1922 64 и т.д . Реализовать чтение данных в массив, данные одного человека - структура с полями для фамилии , имени, года рождения , год рождения и возраста(создание класса) и вывести на экран.
Проблема : выводит пустой экран. Смотрел через шаг с заходом(f11) , но понял , что ничего не понял.
2) Для прочитанных в массив данных сделать алгоритм прямого поиска (по имени).
Проблема : не знаю как связать его с первой частью(и правилен ли вообще код).
Заранее спасибо!

код для 1)
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
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp3
{
    class mathematic
    {
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        public int DateOfBirth { get; set; }
        public int Age { get; set; }
 
 
        public mathematic(string M)
        {
            string[] dan = M.Split(' ');
            Firstname = dan[0];
            Lastname = dan[1];
            DateOfBirth = int.Parse(dan[2]);
            Age = int.Parse(dan[3]);
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<mathematic> scientists = new List<mathematic>();
            using (StreamReader stream = new StreamReader("C://q//students_u.txt", Encoding.UTF8))
            {
                while (!stream.EndOfStream)
                {
 
 
 
                    scientists.Add(new mathematic(stream.ReadLine()));
                    
 
                   
                }
            }
           
        }
    }
}

часть кода для 2)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
int K = 0;
            string p = Console.ReadLine();
            for (int i = 0; (i < stream.Length) && (p = !dan[i].Firstname.ToString()); i++)
            {
 
            Console.WriteLine("СТРОКА НОМЕР №", (i + 1).ToString() + " " + dan[i].Firstname.ToString() + " " + dan[i].Lastname.ToString() + " " + "родился в" + dan[i].DateOfBirth.ToString() + " " +"и прожил " + dan[i].Age.ToString());
         
             else
                {
                    Console.WriteLine("ошибка");
                }
                K =K+1;
                Console.WriteLine("количество итераций" , K);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2018, 12:18
Ответы с готовыми решениями:

Алгоритм прямого поиска. Реализация на С++
может кто-то написать алгоритм прямого поиска на С++? очень надо... суть поиска такова: ...

Алгоритм прямого поиска - проверить наличие значения в массиве
Составить программу. Программа заполняет массив целыми случайными числами, и выводит на экран. С ...

Реализация поиска нужного имени в файле и вывод данных, относящихся к этому имени
Доброго времени суток всем! Прошу помощи у более компитентных людей нежели я. Полное задание...

Написать алгоритм поиска данных методом линейного поиска
написать алгоритм поиска данных методом линейного поиска

Чтение Xml файла с выводом данных в DataGridView
Возможно ли, зная структуру файла xml вывести данные в DataGridView? очень прошу помощи!...

4
alexSo94
187 / 34 / 21
Регистрация: 24.02.2013
Сообщений: 178
29.11.2018, 14:33 2
Да потому,
Цитата Сообщение от tyr432 Посмотреть сообщение
Проблема : выводит пустой экран. Смотрел через шаг с заходом(f11) , но понял , что ничего не понял.
Потому , что код не ваш
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
class Mathematic
    {
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        public int DateOfBirth { get; set; }
        public int Age { get; set; }
        public Mathematic(string M)
        {
            string[] dan = M.Split(' ');
            Firstname = dan[0];
            Lastname = dan[1];
            DateOfBirth = int.Parse(dan[2]);
            Age = int.Parse(dan[3]);
        }
        public override string ToString()
        {
            return Firstname + "\t"+ Lastname + "\t" + DateOfBirth + "\t" + Age;
        }
        class Program
        {
            static void Main(string[] args)
            {
                List<Mathematic> scientists = new List<Mathematic>();
 
                using (StreamReader stream = new StreamReader("C://1.txt", Encoding.UTF8))
                {
                    while (!stream.EndOfStream)
                    {
                        scientists.Add(new Mathematic(stream.ReadLine()));
                    }
                }
                foreach (var value in scientists)
                    Console.WriteLine(value);
                Console.ReadKey();
            }
        }
    }
У вас вывода не было в консоль
1
tyr432
0 / 0 / 0
Регистрация: 23.10.2018
Сообщений: 6
29.11.2018, 18:53  [ТС] 3
AlexSo94 , большое спасибо! Подскажите пожалуйста , как связать эту программу с алгоритмом поиска?

Добавлено через 2 часа 48 минут
большое спасибо! Подскажите пожалуйста , как связать эту программу с алгоритмом поиска?
0
alexSo94
187 / 34 / 21
Регистрация: 24.02.2013
Сообщений: 178
30.11.2018, 07:16 4
Цитата Сообщение от tyr432 Посмотреть сообщение
AlexSo94 , большое спасибо! Подскажите пожалуйста , как связать эту программу с алгоритмом поиска?
в Main
C#
1
2
3
4
5
6
7
8
9
Console.WriteLine("Введите имя");
                string name = Console.ReadLine();
                for(int i=0;i<scientists.Count;i++)
                {
                    if(name==scientists[i].Lastname)
                        Console.WriteLine("Совпадение в строке {0}",i+1);
                    else
                        Console.WriteLine("Имя отсутствует в списке");
                }
1
tyr432
0 / 0 / 0
Регистрация: 23.10.2018
Сообщений: 6
30.11.2018, 07:22  [ТС] 5
Благодарю!
0
30.11.2018, 07:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2018, 07:22

Отсортировать массив тремя методами: прямого включения, прямого обмена, быстрой сортировки
Есть программа которая сортирует массив из 100 элементов в диапазоне от 1 до 1000. Программа...

Подсчет выражения, с вводом данных с клаваиатуры и выводом на экран..
Мне было дано вот такое выражение: y=a+b-c*a/e Решил его обычным способом, с переменными заданными...

Требуется создать трёхмерный массив с выводом данных
входящие данные получаются динамически из координат двух движущихся объектов, необходимо создать...


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

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

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