12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
1

Как исправить ошибку в коде?

19.03.2014, 16:48. Показов 2727. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Помогите исправить ошибку

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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication4
{
    public struct Students : IComparable
    {
        public Students(string Name, int course, int group, int Result)
            : this()
        {
            this.Name = Name;
            this.course = course;
            this.group = group;
            this.Result = Result;
        }
        public string Name { get; private set; }
 
        public int course { get; private set; }
 
        public int group { get; private set; }
 
        public int Result { get; private set; }
 
 
        public int CompareTo(object obj) // сортировка
        {
            Students b = (Students)obj;
            if (this.Result == b.Result) return 0;
            else if (this.Result < b.Result) return 1;
            else return -1;
        }
 
 
 
        public override string ToString()
        {
            return string.Format("{0}; {1}; {2}; {3}",
                                 Name, course, group, Result);
        }
 
 
        class Program
        {
            static void Main(string[] args)
            {
                //Читаем из файла
                string[] allLines = File.ReadAllLines("input.txt");
 
                Students[] students = new Students[allLines.Length];
 
                for (int i = 0; i < allLines.Length; i++)
                {
 
                    string line = allLines[i];
                    string[] fields = line.Split(' ');
                    Students student = new Students(fields[0], Convert.ToInt32(fields[1]), Convert.ToInt32(fields[2]), Convert.ToInt32(fields[3]));
                    students[i] = student;
 
                }
 
 
 
 
                foreach (Students a in students)
                {
 
                    Console.WriteLine(a.ToString());
                }
 
 
                Array.Sort(students);
 
                var query = (from s in students
                             orderby s descending
                             select s.ToString()).Distinct().Take(3);
 
                var resulQuery = from s in students
                                 orderby s descending
                                 where s.Result <= query.Last().Result
                                 select s;
 
                Console.WriteLine();
                Console.WriteLine("сортировка по результату");
 
 
                foreach (string a in query)
                {
                    Console.WriteLine(a);
 
                }
 
                File.AppendAllLines(@"output", query);
 
 
            }
        }
    }
}
Почему в запросе resulQuery подчёркивает 2-ой Result?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2014, 16:48
Ответы с готовыми решениями:

Как исправить исправить ошибку в коде
Здравствуйте,помогите пожалуйста исправить ошибку в коде.using System; using System.Threading; ...

Как исправить ошибку в коде?
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace...

Как исправить ошибку в коде RSS-парсера
Доброго всем времени суток . Дали задание написать парсер для rss . Но всё да былобы , но выдаёт...

Как исправить ошибку в коде запуска потока?
Подскажите пожалуйста, как поправить ошибку. private void Form1_Load(object sender, EventArgs e) ...

29
Заблокирован
19.03.2014, 16:50 2
BaraZHeR, что пишет компилятор?
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 16:55  [ТС] 3
Ошибка 1 "string" не содержит определения для "Result" и не был найден метод расширения "Result", принимающий тип "string" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) c:\users\mustang\documents\visual studio 2010\Projects\ConsoleApplication9\ConsoleApplication9\Program.cs 82 65 ConsoleApplication9

Добавлено через 3 минуты
Ev_Hyper, Подскажите пожалуйста, как правильно будет.
0
Заблокирован
19.03.2014, 17:01 4
BaraZHeR, ну так в этом и ошибка.

Добавлено через 18 секунд
А что вы хотите сделать этим запросом?
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 17:02  [ТС] 5
А как будет правильно

Добавлено через 18 секунд
Это запрос на случай если будет несколько одинаковых значений

Добавлено через 33 секунды
Если несколько одинаковых значений - то добавлем к списку
0
Заблокирован
19.03.2014, 17:07 6
BaraZHeR, тут дело в типах:
Result - int ;
а query.Last() - string

предпологаю, что вам поможет такая замена:

C#
1
2
3
4
5
6
7
8
                    var query = (from s in students
                                 orderby s descending
                                 select s.ToString()).Distinct().Take(3);
                    int count = Convert.ToInt32(query.Last());
                    var resulQuery = from s in students
                                     orderby s descending
                                     where s.Result <= count 
                                     select s;
Хотя, возможно, этот совсем не то, что нужно.
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 17:25  [ТС] 7
Нет, это не то(
0
Заблокирован
19.03.2014, 18:03 8
BaraZHeR, тогда для начала отправьте файл, чтобы я смог сам программу запустить.
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 18:12  [ТС] 9
Вот
Вложения
Тип файла: 7z 6.7z (1.6 Кб, 5 просмотров)
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 18:12  [ТС] 10
Ev_Hyper, Вот
0
Заблокирован
19.03.2014, 18:14 11
BaraZHeR, я не об этом файле

а вот из этого куска:
C#
1
 string[] allLines = File.ReadAllLines("input.txt");
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 18:17  [ТС] 12
Вот
Вложения
Тип файла: txt input.txt (60 байт, 11 просмотров)
0
Заблокирован
19.03.2014, 20:21 13
BaraZHeR, отлично, и что вы хотите сделать этим запросом?

Добавлено через 49 минут
BaraZHeR, с Linq не знаком, поэтому так:
C#
1
2
3
4
5
6
7
                    string[] str = query.Last().Split(' ');
                    int t = Convert.ToInt32(str[3]);
                    Console.WriteLine(str[3]);
                    var resulQuery = from s in students
                                     orderby s descending
                                     where s.Result <= t
                                     select s;
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.03.2014, 20:42 14
BaraZHeR, а в чем задача-то? У вас какие-то очень странные запросы...
0
Заблокирован
19.03.2014, 20:57 15
Psilon, насколько я понял из структуры вытащить 3-их лидеров по полю результат. В случае равенства добавить туда и 4,5...
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 23:33  [ТС] 16
Ev_Hyper, Да. Именно так
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.03.2014, 23:44 17
Ev_Hyper, еще раз, взять последние три различающихся результата и все, одинаковые с ним?..
То есть из 1 2 3 4 5 3 4 5 выбрать 3 3 4 4 5 5 ?
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
19.03.2014, 23:51  [ТС] 18
Вот полный текст задания

На основе данных входного файла составить список студентов, включающий ФИО, курс, группу, результат забега. Вывести в новый файл информацию о студентах, показавших три лучших результата в забеге. Если окажется, что некоторые студенты получили такие же высокие результаты, то добавить их к списку победителей.
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.03.2014, 23:58 19
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;
 
namespace ConsoleApplication38
{
    class Program
    {
        class Student
        {
            public int Result { get; set; }
            public string Name { get; set; }
        }
        static void Main(string[] args)
        {
            var list = new List<Student>();
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j <= 5; j++)
                {
                    list.Add(new Student() {Name = i + j.ToString(), Result = j});
                }
            }
 
            list.ForEach(s => Console.WriteLine("{0} - {1}", s.Name, s.Result));
            Console.WriteLine();
            var bestGroups = list.GroupBy(s => s.Result).OrderByDescending(g => g.Key).Take(3);
 
            var results = new List<Student>();
            foreach (var bestGroup in bestGroups)
            {
                results.AddRange(bestGroup);
            }
 
            foreach (var student in results)
            {
                Console.WriteLine("{0} - {1}", student.Name, student.Result);
            }
        }
    }
}
0
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
20.03.2014, 00:00  [ТС] 20
Неа.

• Во всех задачах подразумевается, что исходная информация хранится в текстовом файле input.txt, каждая строка которого содержит полную информацию о некотором объекте, результирующая информация должна быть записана в файл output.txt.
• Для хранения данных внутри программы организовать массив структур.
• В типе структура реализуется метод CompareTo интерфейса IComparable, перегружается метод ToString базового класса object и необходимые операции отношения, поля данных и дополнительные методы продумайте самостоятельно.
0
20.03.2014, 00:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2014, 00:00
Помогаю со студенческими работами здесь

Как вычислить сумму синусов (исправить ошибку в коде)
double result=0; for (int i = 0; i &lt; 10000; i++) result = result...

Исправить ошибку в коде
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Исправить ошибку в коде
помогите исправить ошибку... есть файл в котором записаны 5 строк: имя цифры город нужно создать...

Исправить ошибку в коде
помогите исправить ошибку вот задание: 1) Создать абстрактный класс Товар с методами,...


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

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

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