Loading...
jinzo avatar jinzo 1 Точки

[Homework] C# Basics - "Въведение в програмирането" - Problem {16} - Print Long Sequence

     Имам малък проблем по изходния резултат в конзолката.За да отпечатам първите хиляда числа(2,-3,4,-5..) пускам един цикъл от 2 до 1001(вкл.) ,вътре един if-else дали е четно/нечетно и като го изкарам на конзолата не ми излизат всичките хиляда числа,.Има ли начин да изкарам всичките числа?Благодаря! sealed

0
Programming Basics 19/01/2015 19:30:09
Kamigawa avatar Kamigawa 750 Точки

Има ограничение на броя на редовете, които показва конзолата. Ако виждаш от 500 до 1001 - не се притеснявай, работи правилно. Също така може да ги принтираш на един ред с .write вместо .writeline

6
17/01/2015 19:17:07
enevlogiev avatar enevlogiev 1168 Точки

Ако искаш да го изпипаш, вкарай Console.BufferHeight = 1001; в началото на кода

3
GogoK avatar GogoK 80 Точки

Здравейте,

Според мен в задачата има лека уловка. Никъде не пише числата да се изписват на нов ред, което според мен е вид отговор на проблемът ти. Има примерно решение, което аз мисля, че трябва да се спазва(2, -3..). Ако е тъка и го разбирам правилно няма да имаш нужда от буфера.
А иначе освен командата която е написал колегата, може и с ; десният бутон на конзолата - Properties - Layout  - Screen Buffer Size => Height: 300; е за 300 реда.

П.П. Ще ползвам темата и за една моя чуденка. Реших задачата по зададеният пример, но накрая след последната цифра ми отпечатва ','. Засега съм решил проблема си с :
Console.Write("\b\b.");
Мисля че не е болка за умиране, но търсих и не можах да намеря как по друг начин да направя това. Та някой ако знае и сподели, му Благодаря предварително!

0
18/01/2015 17:36:42
Filkolev avatar Filkolev 4482 Точки

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

2
GogoK avatar GogoK 80 Точки

Така работи, това ли имаш преддвит:

            }
            if (maxValue-1!=i)
            Console.Write(", ");
        }
        Console.Write(".");
        Console.WriteLine();
    }

 

п.п. преди това цикъла само проверява дали е положително или отрицателно за +/-

0
18/01/2015 18:36:25
Filkolev avatar Filkolev 4482 Точки

Да, точно това е. Проверката в случая е дали не си на последния елемент и ако не си - принтираш запетая и спейс.

Хубаво е тялото на if-a да е оградено в къдрави скоби независимо, че е само един ред код.

Разбира се има и други подходи, но това е най-лесният ми се струва.

0
jinzo avatar jinzo 1 Точки

Пробвах с  Console.BufferHeight преди началото на цикъла и няма промяна.Има ли начин да ги изведа на един ред,независимо от това,че са 1000,защото на някои места ми прехвърля някои цифри от числото на следващия ред ,а това е малко грозничко.Това не е толкова важно за верността на задачата,но любопитсвото е в повече. 
Ето и моят опит: http://pastebin.com/7V5bhaQE , Благодаря ! 

0
SimeonStoykov avatar SimeonStoykov 114 Точки

Здравей. Сигурен ли си че с Console.BufferHeight = 1001; не ти дава да ги видиш всички? Чудя се, защото на мен ми ги показва. След принтиране се показват само последните няколко, но си има скрол, с който можеш да видиш и горните, може би не си го забелязал. Иначе няма как да ги отпечаташ абсолютно всички на 1 ред, тоест не можеш да избегнеш пренасянето на нов ред, защото конзолата има ограничение на ширина.

3
enevlogiev avatar enevlogiev 1168 Точки

Искаш да кажеш, че при ей такъв код : http://pastebin.com/ccj7cyA7 няма да ти направи конзолата с височина 1001 ?
При мен си работи идеално. Ако пак не става, смени височината ръчно: десен клавиш върху конзолата -> Properties -> Layout и при Height напиши 1001.

Edited:
http://pastebin.com/n2ShHUVX - ето ти ги форматирани на един ред... имаше малко дърварско намамване : )

2
20/01/2015 00:30:27
ivailov94 avatar ivailov94 0 Точки

Най лесно аз го направих като влезнах в пропъртито на конзолата и оттам Heght 1010.

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