По въведено n,да се въведат n числа и да се изведе най-голямото от тях без масив
Здравейте,
Възможно ли е по въведено n да се въведат n числа и да се изведе най-голямото от тях без употребата на масиви и ако да как?
Благодаря предварително
Здравейте,
Възможно ли е по въведено n да се въведат n числа и да се изведе най-голямото от тях без употребата на масиви и ако да как?
Благодаря предварително
Има един начин като направиш цикъла и четеш числата и да сравняваш първото подадено с следващото и така до края и да пазиш винаги само по-голямото. Но така ще върнеш накрая само най-голямото число от поредицата а другите няма да ги имаш.А ако го направиш с масив ще имаш и другите числа.
ако съм разбрал правилно въпроса ти ти трябва нещо като това:
int n=int.parse(console.readline)
int biggest=0;
for(int i=0;i<n;i++)
int num=iint.parse(console.readline)
if(num>biggest)
biggest=num
и накрая Console.Writeline(biggest) общо взето е това.не съм сложил {} за да е по четимо,добави си ги и би трябвало да прави каквото искаш.
Благодаря за отговора,
Съжалявам ако не съм задал добре въпроса ,но принципно твоят код ще работи само при въведени положителни числа, а не и при отрицателни.
Вчера го мъчих до 3ч този код и измислих следното:
int n = int.Parse(Console.ReadLine());
int max = 0;
int firstInput = int.Parse(Console.ReadLine());
if (firstInput >= 0)
{
max = Math.Max(max, firstInput);
}
if (firstInput < 0)
{
max = firstInput;
}
for(int i = 0; i < n-1; i++)
{ int input = int.Parse(Console.ReadLine());
if (input >= 0)
{
max = Math.Max(max, input);
}
if (input < 0)
{
Math.Max(max, input);
}
}
Console.WriteLine(max);
Идеята ми е да се въведе първото и да имаме начална ст-ст на max зависимост от знака на firstInput; Кодът работи с входовете които съм тествал, но не знам дали работи правилно за всички - ако смяташ че може да се подобри се чувствай свободен да коментираш и благодаря отново за отговора
изведе най-голямото - това каза затова ти го написах.. иначе за да сравняваш има и по-лесен вариант вместо това което си написал просто остави както е кода горе но сложи Math.Abs(num) така винаги ще ти връща положитеното число и сравнява с най-голямото и после за всичко си е както преди.Но както беше задал въпроса не разбрах че искаш и отрицателните да сравняваш разбрах че искаш само най-голямото число.
Е, няма нужда от такова усложняване, Теодор ти е дал принципа, сетнал е biggest = 0 и за положителни числе това е ОК. Ако искаш искаш да работи и с отрицателни, просто сетваш biggest = int.MinValue и толкова.