Loading...
jkanchelov avatar jkanchelov 8 Точки

[Homework] C#Basics - Conditional Statements . Problem {7} sort 3 numbers with Nested Ifs

Здравейте ,
Някой ще ми помогне ли със задача 4ри ,тъй като единствения начин ,по който за момента се сетих да я реша е това (малко по долу) ,а съм сигурен ,че има алгоритъм или една идея по-лесен начин за решението ѝ вместо да се редят сумати логически оператори .. 


Благодаря предварително ! :) 

using System;

class SortNumbers
{
static void Main()
{
Console.Write("Enter the fist number : ");
double numberOne = double.Parse(Console.ReadLine());
Console.Write("\nEnter the second number : ");
double numberTwo = double.Parse(Console.ReadLine());
Console.Write("\nEnter the third number : ");
double numberThree = double.Parse(Console.ReadLine());


if (numberOne < numberTwo && numberTwo < numberThree)
{
double temp = numberOne;
numberOne = numberThree;
numberThree = temp;
temp = numberTwo;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberOne < numberThree && numberThree < numberTwo)
{
double temp = numberOne;
numberOne = numberTwo;
numberTwo = numberThree;
numberThree = temp;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberTwo < numberThree && numberThree < numberOne)
{
double temp = numberTwo;
numberTwo = numberThree;
numberThree = temp;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberTwo < numberOne && numberOne < numberThree)
{
double temp = numberTwo;
numberTwo = numberOne;
numberOne = numberThree;
numberThree = temp;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberThree < numberOne && numberOne < numberTwo)
{
double temp = numberOne;
numberOne = numberTwo;
numberTwo = temp;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}
else if (numberOne == numberTwo && numberTwo < numberThree)
{
numberOne = numberThree;
numberThree = numberTwo;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}
else if (numberOne == numberThree && numberThree < numberTwo)
{
numberOne = numberTwo;
numberTwo = numberThree;
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberThree == numberTwo && numberTwo < numberOne)
{
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

else if (numberThree < numberTwo && numberTwo < numberOne)
{
Console.WriteLine("Number one : {0} \nNumber two : {1} \nNumber three : {2} ", numberOne, numberTwo, numberThree);
}

}
}

 

0
Programming Basics
Anonymous:
Има вече отворена тема за домашно Conditional Statements: https://softuni.bg/forum/questions/details/321
Нарушава т.12 от Правилата на форума.
beBoss avatar beBoss 507 Точки

Ще е хубаво да ползвате някакво репозитори, като github или visualstudio.com или pastebin и просто дай линк, че така във форума, нито има стилове и подреждане на кода, нито пък изглежда добре при по-дълги кодове. tongue-out

4
jkanchelov avatar jkanchelov 8 Точки

Благодаря за съвета :) . За напред ще гледам да не посткам така кода .

1
HPetrov avatar HPetrov 822 Точки

Нещо си объркал задачите май. 4-та задача е да изведеш знака, който ще се получи като умножиш 3 числа но без да си умножаваш реално. Предоставения от теб код е за 7-ма задача където трябва да подредиш 3 числа по големина.

1
jkanchelov avatar jkanchelov 8 Точки

Прав си :) Явно стоенето до толкова късно да се мъча с дадени програми не винаги ми се отразява добре :D .. 

0
patrik avatar patrik 26 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter three numbers. Enter Number1= ");
double number1 = double.Parse(Console.ReadLine());

Console.WriteLine("Enter Number2= ");
double number2 = double.Parse(Console.ReadLine());

Console.WriteLine(" Enter Number3= ");
double number3 = double.Parse(Console.ReadLine());

if ((number1 < number2) && (number1 < number3))
{
if (number2 < number3)
{
Console.WriteLine("{0}<{1}<{2}", number1, number2, number3);
}
else
{
Console.WriteLine("{0}<{1}<{2}", number1, number3, number2);

}

}
else if ((number2 < number3) && ((number2 < number1)))
{
if (number1 < number3)
{
Console.WriteLine("{0}<{1}<{2}", number2, number1, number3);
}
else
{
Console.WriteLine("{0}<{1}<{2}", number2, number2, number3);

}
}
else if ((number3 < number1) && (number3 < number2))
{
if (number2 < number1)
{
Console.WriteLine("{0}<{1}<{2}", number3, number2, number1);
}
else
{
Console.WriteLine("{0}<{1}<{2}", number3, number1, number2);

}
}

}

}

-1
Jordan avatar Jordan 7 Точки

Колега сложи по едно равно навсякаде, защото гърмиш при някои тестове и обърни навсякъде 

при отпечатването елементите, за да отговаря на условието да са в нисходящ ред.

0
bayan avatar bayan 0 Точки

Решение на реалната задача http://pastebin.com/fig5sGKM 

Да дълго стана , но работи! 

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

0
milkokochev avatar milkokochev 10 Точки

Ето и моето решение --> клик

Разменям стойностите, тъй като ми допада да отпечатвам накрая, а не след всяка проверка. Идеята на задачата е да упражняваме "if"-овете и дори има указание - "Don’t use arrays and the built-in sorting functionality".

Според мен това е идеята на нулевото ниво, да се научат първичните решения и да проверим логическото си мислене :)

0
Harizanov avatar Harizanov 0 Точки

7-ма задача я написах без nested ifs (въпреки че условието е друго), но пък излезна много кратка:

http://codeviewer.org/view/code:4178

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

И още по-кратка може да ти стане wink 

float max = Math.Max(Math.Max(a, b), c);
float min = Math.Min(Math.Min(a, b), c);

0
Harizanov avatar Harizanov 0 Точки

Прав си, но реших не всичко да е на един ред. Просто ми излежда по прегледно.

0
a_banderov avatar a_banderov 19 Точки

Write a program that enters 3 real numbers and prints them sorted in descending order. Use nested if statements. Don’t use arrays and the built-in sorting functionality. 

 

Четете условието! Ако проверявам задачата, ще я сметна за нерешена. Иначе решението без if е точно на 3 реда с масив.

1
simeon_stoykov avatar simeon_stoykov 4 Точки

Ето моето решение на задача 7. Работи коректно при всякакви числа (дори, когато има 2 или повече еднакви числа, пак ги подрежда по зададения ред) и е с вложени If.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.