Max Number
C#
Здравейте ще може ли малко помощ търся решение на задачата Max Number от циклите while само че не стигам до никъде поопитах други
колеги за идея те ми дадоха само че стигам само до 37/100 и не мога да разбера какъв е проблема и като цяло много да я разбера ще може ли малко помощ това ми е кода: https://pastebin.com/Zrmhwj08
това е кода с който ми помогнаха колегите int maxNumber = int. Minvalue If (num>maxNumber) { maxNumber = num }
съответно и с Min number предполагам че решението може да е подобно.
Благодаря предварително.
5. Най-голямо число Напишете програма, която чете n-на брой цели числа (n > 0), въведени от потребителя, и намира най-голямото измежду тях. Първо се въвежда броят числа n, а след това самите n числа, по едно на ред.
това е задачата и нещо имам проблем с нея като цяло да я разбера да напиша кода ако може случайно да я разясниш малко ще съм ти много благодарен
Ето едно примерно решение:
namespace MaxNumber
{
using System;
public class StartUp
{
public static void Main()
{
int numbers = int.Parse(Console.ReadLine());
int maxNumber = int.MinValue;
for (int i = 1; i <= numbers; i++)
{
int currentNumber = int.Parse(Console.ReadLine());
if (currentNumber > maxNumber)
{
maxNumber = currentNumber;
}
}
Console.WriteLine(maxNumber);
}
}
}
добре само че аз до днес не съм взел for и затова ми е объркано и не разбирах как да го използвам
благодаря ти много за отделеното време.
използвам for защото е по подходящо за тази задача (от входа ти знаеш точния брои на числата които ще бъдат въвеждани). While се използва тогава когато искаш да прекратиш при някакво определено условие. примерно програмата да спре ако входа е равен на числото 5. в тази момент ти не знаеш кога ще дойде това число и би било добре да ги проверяваш с While но в твоя случай не е така.
Как работи програмата:
1) четеш броя числа които ще проверяваш. int numbers = int.Parse(Console.ReadLine());
2) създаваш една променлива maxNumber - тя е равна на минималната стойност на int.
3) въртиш един for цикъл до броя на числата които ще четеш
4) при всяко завъртане инициализираш една променлива за сегашния номер int currentNumber = int.Parse(Console.ReadLine());
5) проверяваш дали тази стойност е по голяма от maxNumber
За другата задача логиката е същата но обърната на обратно.
Иначе ето и решение с While но не мисля че това е по-добрия вариант.
namespace MaxNumber
{
using System;
public class StartUp
{
public static void Main()
{
int numbers = int.Parse(Console.ReadLine());
int maxNumber = int.MinValue;
int count = 0;
while (count != numbers)
{
int currentNumber = int.Parse(Console.ReadLine());
if (currentNumber > maxNumber)
{
maxNumber = currentNumber;
}
count++;
}
Console.WriteLine(maxNumber);
}
}
}
няма нищо страшно в тези форове, като имаш време ги разгледай. Ако имаш още някакви въпросаи давай на среща съм :)
сега вече разбрах за какво става на въпрос аз се бърках в цялата работа защо max number ми трябва да е равен на min value и това ми го усложняваше. аз сега ще изгледам и лекцията за for че днес я взехме и ще си допълня всичко благодаря ти много наистина ми помогна :)
Здравей, сайта не ми позволява да ти пиша отговор, затова ти пиша коментар. Ето ти работещо решение на задачата.
using System;
namespace MaxNumber
{
class Program
{
static void Main(string[] args)
{
int inputs = int.Parse(Console.ReadLine());
int inputsCounter = 1;
int number = 0;
int maxNumber = int.MinValue;
while (inputsCounter <= inputs)
{
inputsCounter++;
number = int.Parse(Console.ReadLine());
if (maxNumber <= number)
{
maxNumber = number;
}
}
Console.WriteLine(maxNumber);
}
}
}
namespace MaxNumber
{
using System;
public class StartUp
{
public static void Main()
{
int numbers = int.Parse(Console.ReadLine());
int maxNumber = int.MinValue;
int i =0;
while(i < numbers)
{
int currentNumber = int.Parse(Console.ReadLine());
if (currentNumber > maxNumber)
{
maxNumber = currentNumber;
}
i++;
}
Console.WriteLine(maxNumber);
}
}
}
Ето решение без for
import java.util.Scanner; public class MaxNumber { public static void main(String[] args) { Scanner input = new Scanner (System.in); int num = Integer.parseInt(input.nextLine()); int s=1; int max=Integer.MIN_VALUE; while (s<=num) { s++; int in = Integer.parseInt(input.nextLine()); if (in > max) { max= in; } } System.out.println(max); } }
Ok но ние говорим за c#. Не мисля че е уместно да пускаш подобни коментари. Все пак това е programming basic не на всички им е лесно да четат код различен от техния език.
Смешно е ... ако изобщо се чуваш. Алгоритъма е един... къв е проблема езика
function test(input){
let n = Number(input.shift());
let k = 1;
let num = Number.MIN_SAFE_INTEGER;
while (k<=n){
let num1 = Number(input.shift());
if (num1 > num)
{
num = num1;
}
++k;
}
console.log(num);
}