Loading...
antondobrev avatar antondobrev 5 Точки

Average Load Time Calculator - Problem with Input

В задача 9 от домашното за C# Advanced Topics, input-a е произволен брой редове. Ако се чете от файл, може да стане със StreamReader, но от конзолата нямам идея как да прочета неизвестен брой редове. Някой има ли идея, че не намирам нищо в Гугъл?

 

Problem 9.       Average Load Time Calculator

We have a report that holds dates, web site URLs and load times (in seconds) in the same format like in the examples below. Your tasks is to calculate the average load time for each URL. Print the URLs in the same order as they first appear in the input report. Print the output in the format given below. Use double floating-point precision. Examples:

Input

Output

2014-Mar-02 11:33 http://softuni.bg 8.37725

2014-Mar-02 11:34 http://www.google.com 1.335

2014-Mar-03 21:03 http://softuni.bg 7.25

2014-Mar-03 22:00 http://www.google.com 2.44

2014-Mar-03 22:01 http://www.google.com 2.45

2014-Mar-03 22:01 http://www.google.com 2.77

http://softuni.bg -> 7.813625

http://www.google.com -> 2.24875

2014-Apr-01 02:01 http://softuni.bg 8.37725

2014-Apr-01 02:05 http://www.nakov.com 11.622

2014-Apr-01 02:06 http://softuni.bg 4.33

2014-Apr-01 02:11 http://www.google.com 1.94

2014-Apr-01 02:11 http://www.google.com 2.011

2014-Apr-01 02:12 http://www.google.com 4.882

2014-Apr-01 02:34 http://softuni.bg 4.885

2014-Apr-01 02:36 http://www.nakov.com 10.74

2014-Apr-01 02:36 http://www.nakov.com 11.75

2014-Apr-01 02:38 http://softuni.bg 3.886

2014-Apr-01 02:44 http://www.google.com 1.04

2014-Apr-01 02:48 http://www.google.com 1.4555

2014-Apr-01 02:55 http://www.google.com 1.977

http://softuni.bg -> 5.3695625

http://www.nakov.com -> 11.3706666666667

http://www.google.com -> 2.21758333333333

Тагове:
0
Programming Basics 11/03/2015 23:06:25
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Например нещо такова:

string line = null;

while ((line = Console.ReadLine()) != "")
{
       //do something with line
}

0
antondobrev avatar antondobrev 5 Точки

принципно ставаа, но трябва да набия още 1 ентер накрая.. а пък на теория не знаеш дали няма да има празен ред във входните данни

0
Filkolev avatar Filkolev 4482 Точки

Присвояването в условието на конструкция не е добра идея, по-добре да се присвои преди цикъла и да се вземе наново в края му. В условието трябва да има булев израз, в случая има: 1) викане на метод и четене на данни от конзолата; 2) присвояване на прочетените данни в променлива; 3) проверка каква е стойността на тази променлива.

0
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Ако присвоя стойността на променливата преди цикъла, какъв ще ми е break condition-a на while цикъла? Аз първо пробвах да сложа в условието на while-a само (console.readline() != ""), но тогава първия вход не го записва (аз добавям всеки ред в един списък). Дай идея как да го направим това с неизвестен брой редове вход. 

0
Filkolev avatar Filkolev 4482 Точки

По замисъл такъв тип вход се чете от файл. Най-добре си сложи входните данни в някакво .txt и ги чети от там, като сложи файла в solution-a, за да е достъпен и за проверяващите.

1
KatyaMarincheva avatar KatyaMarincheva 572 Точки

И ако инпута се чете от файл - този вариант например е много удобен:

StreamReader x = new StreamReader(@"..\..\text.txt")

// this code "@"..\..\" retrieves files in same folder as the program .cs file

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