Софтуерно Инженерство
Loading...
+ Нов въпрос
DimitarIvanov2989 avatar DimitarIvanov2989 -3 Точки

Simple Loops - Problem 18

Здравейте! Само тази задача ми остана да реша и единственото, което ме спира е, че не знам с каква команда да прочитам числата по двойки... Мислих го цифра време, но така и не ми идва на ум. Ще съм благодарен ако ми помогнете :)

Едит: Задачата може да я намерите тук:

https://softuni.bg/trainings/1297/programming-basics-january-2016

лекция - "Повторения(цикли)"

 

0
Основи на програмирането 24/02/2016 14:42:37
vancho avatar vancho 430 Точки

Здравей,

ако съм видял правилната задача (понеже не си дал линк) ти трябва нещо такова:

        for (int i = 0; i < n; i++)
        {
            int one = int.Parse(Console.ReadLine());
            int two = int.Parse(Console.ReadLine());
        }

-3
kiso_blg avatar kiso_blg 56 Точки

Дадени са 2 * n числа като всеки две числа формират двойка. Т.е. ако въртиш цикъл от 0 до n, на всяка стойност на брояча (на всяко i) трябва да четеш по две числа и да пазиш сумата им в трета променлива. Така на всяко следващо завъртане проверяваш дали сумата на предишната двойка е равна на сумата на следващата двойка числа.

0
DiyanTonchev92 avatar DiyanTonchev92 233 Точки

Скалъпих набързо едно решение, можеш да го разгледаш - http://pastebin.com/BCkjp1xC (може да се подобри малко, но дава 100/100). 
П.С. Много яки домашни са ви направили в новия формат на курса. Иматe задачи с Windows Forms, можете да тествате решенията си в Judge... Много яко. При нас нямаше такива екстри :) 

0
25/02/2016 07:52:56
CvetanCankovVelikov avatar CvetanCankovVelikov 30 Точки

Ето едно решение с масиви :
http://pastebin.com/KigpK6fU

0
KaloyanGanchev avatar KaloyanGanchev 12 Точки

Едно семпло решение:

http://pastebin.com/rrKNFiGP

0
DimitarIvanov2989 avatar DimitarIvanov2989 -3 Точки

Не мога и не мога да и хвана логиката на тази задача...

С този ред:

  1.    if (i == 0)

  2.                 {

  3.                     prevSum = firstNum + secondNum;

  4.                 

предполагам искаш да кажеш на програмата да събере числата още при въвеждането им, преди започване на цикъла? 

0
KaloyanGanchev avatar KaloyanGanchev 12 Точки

if (i == 0)  - за първото сумиране

{ prevSum = firstNum + secondNum; }  - първата сума от първата двойка числа

else

{

currentSum = firstNum + secondNum;  - сумата от другата двойка числа

diff = Math.Abs(currentSum - prevSum);  - сравнение на двете суми

if (bigDiff < diff) bigDiff = diff;  - проверка дали разликата от тях е по-голяма от досегашната и я записва като най-голяма;

prevSum = currentSum; - първата сума получава стойността на сумата на другата двойка числа;

}

if (bigDiff == 0) Console.WriteLine("Yes, value = " + prevSum);    - при липса на разлика, извежда еднаквата стойност на двете суми;

else Console.WriteLine("No, maxdiff = " + bigDiff);    - при разлика, извежда най-голямата.

0