Професионална програма
Loading...
+ Нов въпрос
chefo1993 avatar chefo1993 2 Точки

Technology Fundamentals C#, 01.Sort Numbers

Здравейте! Имам проблем с тази задачка от упражненията, стигнах до някъде с if-else проверки, но явно не правя нещо като хората. Ако може да помогнете с някакъв код, ще съм благодарен. :)

Ето и моят код до тук: https://pastebin.com/btYhaSJQ

Тагове:
0
Fundamentals Module
Dani77 avatar Dani77 15 Точки
Best Answer

https://pastebin.com/bSGHd5Zx

Ето и моето решение. 

0
Ivanpavlov95 avatar Ivanpavlov95 32 Точки

Супер доста креативно решение!

0
krum142 avatar krum142 13 Точки

Ето един вариянт със Arrays .. който не сме учили още :DDD аз със помощ от google така го направих

using System;

namespace SortNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int[] intArray = new int[3]; // със това създаваш 3 цифрен array

            for (int i = 0; i < intArray.Length; i++) // тук казваш цъкала да върти колкото е голям arraya
            {
                
                intArray[i] = int.Parse(Console.ReadLine()); // приемаш новата цифра от конзолата на всеки цъкъл (трите числа) и издлиза

            }
            Array.Sort(intArray); // сортира ги по големина ({4}{1}{3}={1}{3}{4})
            Array.Reverse(intArray); // обръща вече сортирания array иначе е от най малкото към най голямото {1}{3}{4}={4}{3}{1}

            for (int x = 0; x < intArray.Length; x++)
            {
                Console.WriteLine(intArray[x]); // и тук вече си ги разпечатваш сортирани = 4 3 1
            }
        }
    }
}

 

1
24/01/2019 12:27:42
chefo1993 avatar chefo1993 2 Точки

Благодаря! Да и аз си помислих да се помъча с масивите, но исках да я пробвам с наученото до момента. :) 

0
svetlakrasteva avatar svetlakrasteva 7 Точки

Аз съм с Java, намерих решение без array, но juge ми дава часовничета - дъло време за обработка:

import java.util.Scanner;

public class O1SortNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int num1 = Integer.parseInt(scanner.nextLine());
        int num2 = Integer.parseInt(scanner.nextLine());
        int num3 = Integer.parseInt(scanner.nextLine());

        int count = 0;
        for (int i = Integer.MAX_VALUE; count != 3; i--){
            if (num1 == i || num2 == i || num3 == i ){
                System.out.println(i);
                count++;
            }
        }
        }
    }




0
KaloyanStoyanovvv avatar KaloyanStoyanovvv 66 Точки

Здравей, това е моето решение на Java с проверки ---> https://pastebin.com/PZnCW4Yh  <--- дано се ориентираш.

0
24/01/2019 17:25:17
chefo1993 avatar chefo1993 2 Точки

Благодаря, да ориентирах се :) 

0
diljana avatar diljana 90 Точки

Здравей, изпращам ти моя код. При твоя липсва само последната проверка, когато n3 e най- голямото число от трите. 

https://pastebin.com/v46GWPkL

0
chefo1993 avatar chefo1993 2 Точки

Благодаря! :) Ще се възползвам от помощта.  Започнах и аз така и в един момент просто се изгубих в логиката и помислих, че няма да работи коректно... 

0
TeodorStefanovPld avatar TeodorStefanovPld 1275 Точки

омг гледам ви тоговорите и ми се плаче честно. 

      for (int i = Integer.MAX_VALUE; count != 3; i--) как очакваш да не ти дава часовници като ти започваш от 4 милиарда май беше макса на int и ако ти дам 2-3-4 като числа ти правиш 4 милиарда операции в тоя цикъл wow...Интересно ми е къде си го намерила или как си стигнала до това решение.

https://pastebin.com/AfHdYLAs ето го,мога да го оптимизирам още доста вероятно,но не ви трябват масиви нищо,3 проверки и Math.max min 

мога да направя и един да изписвам резултата а не така,малко повтарям код,но айде да не правя чак такива щуротий,а и това да ${n} в стринга е безмислелено той компилатора ще си извика .tostring на числото сам,и няма ад му промени стойността.

 

1
SvetoslavPorozhanov avatar SvetoslavPorozhanov 4 Точки

Здравей, май-много ми хареса твоя код, защото е най-кратък. Не бях се сетил за Math.Min и Math.Max. Иначе намерих макса и мина по начина, който учихме в Programming Basics и после изредих проверки, за да открия средната стойност. Ето го и моето решение: https://pastebin.com/raw/SUiqKxCp 

0
koknq avatar koknq 17 Точки

using System;

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int c = int.Parse(Console.ReadLine());
            if(a<b && a<c)
            {
                if (b < c) { Console.WriteLine(c); Console.WriteLine(b); Console.WriteLine(a); }
               
                else { Console.WriteLine(b); Console.WriteLine(c); Console.WriteLine(a); }
            }
            else if(b<a && b<c)
            {
                if(a<c) { Console.WriteLine(c); Console.WriteLine(a); Console.WriteLine(b); }
                else { Console.WriteLine(a); Console.WriteLine(c); Console.WriteLine(b); }
            }
            else if(c<a && c<b)
            {
                if(a<b) { Console.WriteLine(b); Console.WriteLine(a); Console.WriteLine(c); }
                else { Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); }
            }
            else if(a==b)
            {
                if (a < c) { Console.WriteLine(c); Console.WriteLine(a); Console.WriteLine(b); }
                else { Console.WriteLine(c); Console.WriteLine(b); Console.WriteLine(a); }
            }
            else if(a==c)
            {
                if (a < b) { Console.WriteLine(b); Console.WriteLine(a); Console.WriteLine(c); }
                else { Console.WriteLine(c); Console.WriteLine(a); Console.WriteLine(b); }
            }
            else if(b==c)
            {
                if (b < a) { Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); }
                else { Console.WriteLine(c); Console.WriteLine(b); Console.WriteLine(a); }
            }
            


        }
    }
}

По най-просташкия начин 100/100 judge :D

0