C# - Strange Order - just a comma problem

Мили хора,

Свърших по-тежката работа (или поне така си мислех), когато две запетаи се изпречиха на пътя ми…
На конзолата трябва да принтирам 3 листа от числа, които да са на един ред и разделени със запетая, но не мога да намеря начин да ги комбинирам. Прикачвам задачата и моето решение:

Ето го и моето решение: (Реших, че ще е по-лесно да постна направо снимка, за да няма нужда от допълнително кликане, ако има някакво правило за това как трябва да се прави, моля, enlighten me! haha)

БЛАГОДАРЯ ПРЕДВАРИТЕЛНО!!!

Здравей,

Можеш да използваш .Concat

Виж моето решения

Поздрави,

1 Like

Благодаря ти!

1 Like

За най-лесно (според мен) можеш да направиш всичко с LINQ
https://pastebin.com/yUhP9Q2N
Ако ти е интересен (и е доста полезен) мога да ти пратя някой материали за LINQ.

1 Like

Привет,

Да, може ли? Ще ми е много полезно! Ако го споделиш тук може да достигне до повече хора :slight_smile:

Поздрави,
Йо

Здравейте,
И аз доста се запънах на тази задача. С LINQ си е направо гениална идея.
Иначе аз я реших като изтрих всичко от оригиналния лист и добавих наново 3те отделни листа в него.

1 Like

Ако ти върши работа е ОК.
Но все пак трябва да знаеш, че триенето и след това въвеждането на елементи в List<> е бавна операция
и може да ти гръмнат някой тестове за време на други задачи. Just a reminder :slight_smile:

1 Like

Sorry, че се забавих с отговора.
Тук има един ресурс който може да ви помогне ако сте начинаещи:
https://drive.google.com/file/d/186FzltK-ynJkHWlgflj2jj1i2FXtZVZE/view?usp=sharing
Тук също като може да си тествате примерите директно в сайта:
https://www.tutorialsteacher.com/linq/sample-linq-queries
И понеже LINQ ми е любима тема и започнах да го реимплементирам по книгата на Джон Скийт
Тук може да погледнете как работят нещата, но предупреждавам, че са малко за напреднали
и това е само за да придобиете представа какво стои отдолу.

Самата книга може да я намерите тук: https://codeblog.jonskeet.uk/category/edulinq/
И отново!!! Това са за по-напреднали.
Първите два ресурса са ви достатъчни за сега и след това се преминава към книгата.

3 Likes

Така по някаква причина и аз не мога да премахна запетайката по никакъв начин,нито с (i == array.Length - 1),нито с конкатениране нито .TrimEnd();,нито string.Join(",", ) работи

https://pastebin.com/XtxhiwaU

Ако някой ми покаже нагледно как трябва да изглежда крайното форматиране ще съм благодарен.

List numbers = Console.ReadLine().Split(’,’).Select(int.Parse).ToList();

        List<int> negative = new List<int>();
        List<int> zero = new List<int>();
        List<int> positive = new List<int>();

        for (int i = 0; i < numbers.Count; i++)
        {
            if (numbers[i] < 0)
            {
                negative.Add(numbers[i]);
            }
            else if (numbers[i] == 0)
            {
                zero.Add(numbers[i]);
            }
            else if (numbers[i] > 0)
            {
                positive.Add(numbers[i]);
            }
        }

        var sumLists = negative.Concat(zero).Concat(positive).ToList();

        Console.Write(string.Join(",", sumLists));
1 Like

Жив и здрав.

Може също да се ползва AddRange()