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

1.Sort Numbers

Здравейте! Някой може ли да ми помогне? Judge ми дава 60/100 .. Благодаря предварително!

Условие -->

1. Sort Numbers
Read three real numbers and sort them in descending order. Print each number on a new line.
Examples
Input Output
2
1
3

3
2
1
-2
1
3

3
1
-2

0
0
2

2
0
0

 

Моя код:

using System;

namespace ConsoleApp14
{
    class Program
    {
        static void Main(string[] args)
        {

            double a = double.Parse(Console.ReadLine());
            double b = double.Parse(Console.ReadLine());
            double c = double.Parse(Console.ReadLine());
            double x = 0;

            if (b<a)
            {
                x = a;
                a = b;
                b = x;
            }
            else if(c<a)
            {
                x = c;
                c = a;
                a = x;
            }
            else if(c<b)
            {
                x = c;
                c = b;
                b = x;
            }
            else if(a==b)
            {
                x = a;
                a = b;
                b = x;
            }
            else if(a==c)
            {
                x = a;
                a = c;
                c = x;
            }
            else if(b==c)
            {
                x = b;
                b = c;
                c = x;
            }
            Console.WriteLine(c);
            Console.WriteLine(b);
            Console.WriteLine(a);
        }
    }
}

Тагове:
0
Fundamentals Module
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей, по начина по който разместваш стойностите на числата трябва да използваш само if-ове без if-else if :)

0
damesova avatar damesova 202 Точки

Здравей,

Ето ти една друга логика. Написана е на Java, но се вижда ясно как е построена логиката. Може да ти хареса и моя начин.

В Judge е на 100/100.

ЦЪК

0
VasilK avatar VasilK 39 Точки

С loop и array:

import java.util.*;

public class Sort_Numbers {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int[] array = {0,0,0};
        for ( int i = 0; i <= 2; i++) {
            int n = Integer.parseInt(scanner.nextLine());
            array[i] = n*-1;
        }

        Arrays.sort(array);

        for ( int x = 0; x <= 2; x++) {
            System.out.println(array[x] * -1 );
        }

    }

}

0
KlimentHristov avatar KlimentHristov 56 Точки

Голям си, с тези масиви как решаваш задачите толкова малко код супер.

Аз още влизам в някакви цикли и иф елсове 1 час :).

+1 !

-1
Krisibanov avatar Krisibanov 5 Точки

Ето моето решение https://pastebin.com/bPeV2Xvr

0
Nikoleta88 avatar Nikoleta88 5 Точки

Здравей,

Това е на Java, но може да видиш логиката 

https://pastebin.com/skziQp1N

0
Stani82 avatar Stani82 13 Точки

Здравей. Ето от мен и едно по-адвенст, но със значително по-малко код решение: 

 

https://pastebin.com/gka4suzQ

1
nasyotbm avatar nasyotbm 5 Точки

 

namespace Sort_Numbers
{
    class Program
    {
        static void Main(string[] args)
        {
            
            
            int container1 = int.MinValue;
            int container2 = int.MinValue;
            int container3 = int.MinValue;

            for (int i = 0; i < 3; i++)
            {
               int numberToCheck = int.Parse(Console.ReadLine());
                if (numberToCheck > container1)
                {
                    container3 = container2;
                    container2 = container1;
                    container1 = numberToCheck;
                }
                else if (numberToCheck > container2)
                {
                    container3 = container2;
                    container2 = numberToCheck;
                }
                else if (numberToCheck > container3)
                {
                    container3 = numberToCheck;
                }

            }
            Console.WriteLine(container1);
            Console.WriteLine(container2);
            Console.WriteLine(container3);
        }
    }
}
 

0
18/01/2020 18:18:41
Elena123456 avatar Elena123456 193 Точки

Не видях решение на задачата с лист и за това ще пейстна подобно на C#. Дано да е от помощ на някого. :)

using System;
using System.Collections.Generic;

namespace sortNumber
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            List<int> listNum = new List<int>();
            int num1 = int.Parse(Console.ReadLine());
            listNum.Add(num1);
            int num2 = int.Parse(Console.ReadLine());
            listNum.Add(num2);
            int num3 = int.Parse(Console.ReadLine());
            listNum.Add(num3);


            listNum.Sort();
            listNum.Reverse();
            listNum.ForEach(Console.WriteLine);
        }
    }
}
 

 

0
JsDSU avatar JsDSU 3 Точки

Здравейте! Поствам Ви едно решение за Java, в което не е необходим използването на проверки If / if else. 


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

        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        arrayList.add(Integer.parseInt(scan.nextLine()));
        arrayList.add(Integer.parseInt(scan.nextLine()));
        arrayList.add(Integer.parseInt(scan.nextLine()));

        Collections.sort(arrayList);
        Collections.reverse(arrayList);
        for (int counter: arrayList){
            System.out.println(counter);
        }

    }
}
0
17/01/2021 17:02:56
stoian_delev avatar stoian_delev 3 Точки

Може ли малко съдействие къде е грешката 40/100? Благодаря.

 

https://pastebin.com/vHiA7yeC

0
stoian_delev avatar stoian_delev 3 Точки

Открих си грешката :)

0
JsDSU avatar JsDSU 3 Точки

:)yes

0