Софтуерно Инженерство
Loading...
+ Нов въпрос
tutzy.fts avatar tutzy.fts 2 Точки

Въвеждане на един ред без масив

Здравейте, имам следният въпрос: 

решавам Baba Tinche Airlines tuk от Judge системата, та има ли начин числата да се въвеждат на един ред (по три числа на три реда, както е по условие), но без да използвам масив/и.

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

Тагове:
Nikolaj avatar Nikolaj 10 Точки

Ми не мисля. Поне аз не знам за такъв, а и да има сигурно ще още по труден от колкото с масив. 

Не e чак толко трудно само трябва да по порочетеш за масиви в интернет. Това в сравнително прост начин с масив .  В метода Split се пише знака, който искаш да ти разделя отделните елемени на масива при преобразуването му от string в масив.

0
crazy7 avatar crazy7 177 Точки

Наков има една библиотека Nakov.IO.Cin, с нея можеш да си вземеш всяко число отделно без значение как са въведени на един ред с интервал или на отделни.

Например:

12 6

1

int first = Cin.NextInt(); -- 12

int second= Cin.NextInt(); -- 6

int third= Cin.NextInt(); -- 1

Но все пак с масив може би ще ти е по лесно.

 

0
kiko144 avatar kiko144 SoftUni Team 795 Точки

Може да се вземат, като изчислиш къде точно са числата в стринга и да ги присвоиш на отделни променливи. Това обаче освен, че трябва да инициализираш 3 пъти повече променливи е и много писане на код и излишни разправии.

 

Ето така изглежда инпута взет с масив:

string[] firstInput = Console.ReadLine().Split();
string[] secondInput = Console.ReadLine().Split();
string[] thirdInput = Console.ReadLine().Split();

Както знаеш Console.ReadLine() взима ред от конзолата и го превръща в стринг. След това Spit() метода разделя по празни разстояние и връща масив. Тоест ако на конзолата имаш стринга "1 2 3 4" -> този ред ще ти върне  масив от стрингове [1,2,3,4] и така за 3-те реда. 

Тоест след взимането на инпута firstInput[0] ще ти е първото число от първия ред, firstInput[1] - второто и т.н.

0
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Можеш да запазиш входа от конзолата (всеки ред) като string и след това да го разделиш на отделни части, като използваш за параметър празните позиции (т.е. програмата ще прочете всеки ред от входа, ще намери празните позици и всичко около тях ще стане отделен елемент. Това връща масив от string (след това можеш да Parse-неш всеки елемент към желания от теб тип), но е най-добрият вариант, който аз намерих. Повече за метода String.Split можеш да намериш тук и тук.

Успех!

0
tutzy.fts avatar tutzy.fts 2 Точки

Мерси на всички!

0