Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
.NET 4.x

Как исправить ошибку, выводит только первый элемент после сортировки?

08.01.2020, 23:33. Показов 2380. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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.Linq;
 
namespace Class
{
    class Pet
    {
        public int Name { get; set; }
        public string n { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Pet lol = new Pet();
                string str = Console.ReadLine().ToString();
                string[] result = str.Split(' ');
                for (int i = 0; i < result.Length; i++)
                {
                    lol.n = result[i];
 
                }
 
                Pet[] pets = lol.n.Split(' ').Select(p => new Pet() { Name = int.Parse(p) }).ToArray();
 
                IEnumerable<Pet> query = pets.OrderBy(pet => pet.Name);
 
                foreach (Pet pet in query)
                {
                    Console.Write(pet.Name + " ");
                }
 
                Console.ReadKey();
            }
            catch
            {
                Erro();
            }
        }
        static void Erro()
        {
            Console.WriteLine("Ощибка ввода данных!");
            return;
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2020, 23:33
Ответы с готовыми решениями:

Выводит только первый элемент после сортировки и добавления в список
program pr3; type och=^s; s=record inf:integer; link:och; end; const n=8; var a:array of integer; ...

Выводит только первый элемент массива символов
Потом вместо каждого символа выводит что-то вроде |for (int i = 0; i &lt; 100; i++) { printf(&quot;%c\n&quot;, fault); }

Как исправить ошибку: формат теста исправить нельзя, только текст программы
class AmericanDate: def __init__(self, y, m, d): self.get_year = str(y) self.get_month = str(m//10)+str(m%10) ...

8
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,074
Записей в блоге: 2
08.01.2020, 23:43
kauakutsatsauts, вы же пишите, что пытаетесь научиться.

Вот мне совершено не понятен ход вашей мыли приведшей к этому коду.

Прокомментируйте этот код.
Желательно каждую строчку.
Чтобы можно было понять на каком этапе вы ошибаетесь и исправить ваши ошибки в алгоритме, логике, понимании C#.
0
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
08.01.2020, 23:55
я что то не понимаю но.. если смотреть код то эта часть не нужна

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
                string[] result = str.Split(' ');
                for (int i = 0; i < result.Length; i++)
                {
                    lol.n = result[i];
 
                }
 
                Pet[] pets = lol.n.Split(' ').Select(p => new Pet() { Name = int.Parse(p) }).ToArray();


а вот как я понял нужное решение
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 try
            {
                string str = Console.ReadLine().ToString();
 
                IEnumerable<Pet> query = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                    .Select(c => new Pet { Name = int.Parse(c), n = c })
                    .OrderBy(p => p.Name)
                    .ToArray();
 
                foreach (Pet pet in query)
                {
                    Console.Write(pet.Name + " ");
                }
 
                Console.ReadKey();
            }
            catch
            {
                Erro();
            }


сложно понять что нужно сделать (
0
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
09.01.2020, 00:07  [ТС]
Kotyara0live, условие
Игральные карты
Решать с использованием "списка".
Дана перемешанная колода карт (36 карт, 4 масти). Карты выдают по одной.

На вход подаётся одна строка, в которой через пробел написаны названия карт не важно какой масти, например, так:

9 ace king 10

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

Sample Input 1:

9 ace king 10
Sample Output 1:

9 10
Sample Input 2:

6 7 8 9 8 7 6
Sample Output 2:

6 6 7 7 8 8 9
0
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
09.01.2020, 00:17
Лучший ответ Сообщение было отмечено kauakutsatsauts как решение

Решение

C#
1
2
3
4
5
                IEnumerable<Pet> query = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                    .Where(s=> int.TryParse(s,out int i))
                    .Select(c=> new Pet { Name = int.Parse(c), n = c})
                    .OrderBy(p=> p.Name)
                    .ToArray();
вот видоизмененный запрос..
1
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
09.01.2020, 00:26  [ТС]
Kotyara0live, Что делать Compilation error
main.cs(28,54): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 6.0 language specification

Добавлено через 1 минуту
Kotyara0live, Ошибка компиляции
main.cs (27,50): ошибка CS1644: нельзя использовать функцию `выражение объявления ', поскольку она не является частью спецификации языка C # 6.0

Добавлено через 37 секунд
Kotyara0live, Как то можно обойтись без функцию `выражение объявления '

Добавлено через 2 минуты
Kotyara0live, Можно это сделать не так а по другому ?
к примеру через массив ?
C#
1
2
3
4
5
 IEnumerable<Pet> query = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                 .Where(s => int.TryParse(s, out int i))
                 .Select(c => new Pet { Name = int.Parse(c), n = c })
                 .OrderBy(p => p.Name)
                 .ToArray();
0
 Аватар для Kotyara0live
34 / 28 / 27
Регистрация: 23.02.2016
Сообщений: 367
09.01.2020, 00:32
Лучший ответ Сообщение было отмечено kauakutsatsauts как решение

Решение

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
 try
            {
                string str = Console.ReadLine().ToString();
 
                var split = str.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                var res = new List<int>();
                foreach(var s in split)
                {
                    int i = 0;
                    if (int.TryParse(s, out i))
                        res.Add(i);
                }
                res.Sort();
                foreach (var r in res)
                {
                    Console.Write(r);
                }
 
                Console.ReadKey();
            }
            catch
            {
                Erro();
            }
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
09.01.2020, 14:15
Цитата Сообщение от Kotyara0live Посмотреть сообщение
.ToString();
тут зачем?

еще вариант
C#
1
2
            var result = Regex.Matches(Console.ReadLine(), @"\d+").Cast<Match>().Select(m => int.Parse(m.Value)).OrderBy(x=>x);
            Console.WriteLine(string.Join(" ",result));
0
10.01.2020, 13:51

Не по теме:

Цитата Сообщение от Diamante Посмотреть сообщение
тут зачем?
та было в исходнике, мне лень было убирать )

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2020, 13:51
Помогаю со студенческими работами здесь

Первый запуск. Как исправить ошибку?
Привет. Первый раз установил QT, хотел начать работать, но вот незадача какая... Как завести программу?

Выводит ошибку MBS6006 "CL.exe" exited with code 2. Как исправить эту ошибку?
Иногда возникает эта ошибка и не понимаю, мол откуда она. Погуглил - ничего дельного. Подскажите, как это решить. В онлайн компиляторе все...

Выводит ошибку MBS6006 "CL.exe" exited with code 2. Как исправить эту ошибку?
#pragma once #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;cmath&quot; #include &lt;string&gt; #include &quot;windows.h&quot; #define PI 3.14 ...

Написала программу, выводит ошибку, подскажите как исправить
Вот сама задача:Вычислить и вывести на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN = xкон, где h =(xкон –...

Факториалы. У меня выводит ошибку , но я не знаю , как её исправить


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru