[Homework] Simple loops -> Left and Right Sum
Моля за малко помощ, защото аз, както програмата ми, зациклихме яко :D
Моля за малко помощ, защото аз, както програмата ми, зациклихме яко :D
Дай да ти видим кода иначе няма как да ти помогнем.
Колега на прав път си. Обаче трябва да въртиш два for цикала еин за left и един за right и вътре да сумираш числата. във if проверяваш дали са равни left == right, не ти трябва math.abs. Пробвай се да я решиш, в краен случай погледни решението, аз ти я поправих, ама първо се опитай сам с направленията ми. http://pastebin.com/hN95uE9i
Успех!
Аз пък, бях забил на това как да ги събера в цикъла мерси много за помоща!
Здравей Колега, на кратко ще ти представя моята идея за въпросната задача.
1. Взимаш бройките на числата. По условие ти казват, че ще въведат някакъво число n , което ще определи броя на числата - 2*n. Следователно във всяка от групите ще имаш по две числа.
2. Завърташ един цикъл от 0 до i <2*n. Така ще прочетеш необходимите числа от клавиатурата /в този случай 4/.
3. Правиш си две променливи leftSum и rightSum.
4. В цикъла проверяваш текущия елемент към коя група спада
if(i<2)
{
//increase leftSum
}
else
{
//increase rightSum
}
5. След като приключиш с въвеждането и сумирането, правиш проверка за втората част на условието.
if(leftSum==rightSum)
{
//Yes
}
else
{
//No -> Math.abs(leftSum-rightSum)
{
Надявям се да съм бил полезен
Успех
Благодаря ви!
Ами аз си я реших съвсем сам по различен начин,в джъджа не тръгва но в Вижуал е ок и дава очакваните резултати :
http://pastebin.com/kBpVm76f
Ще се радвам ако изкоментирате решението ми,съвсем от скоро се занимавам :))
Колега,
виж и моето решение - може да не е най-добро, но пък работи 100/100.
Успех ти пожелавам.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LeftAndRightSum
{
class Program
{
static void Main(string[] args)
{
var n = int.Parse(Console.ReadLine());
var sumLeft = 0;
var sumRight = 0;
for (int i = 0; i < n; i++)
{
var currentNumber = int.Parse(Console.ReadLine());
sumLeft = sumLeft + currentNumber;
}
for (int i = 0; i < n; i++)
{
var currentNumber = int.Parse(Console.ReadLine());
sumRight = sumRight + currentNumber;
}
if (sumLeft == sumRight)
{
Console.WriteLine("Yes, sum = {0}", sumRight);
}
else
{
var result = Math.Abs(sumLeft - sumRight);
Console.WriteLine("No, diff = {0}", result ) ;
}
}
}
}
Колега това е моят код, дано има нещо което и на теб ще ти помогне :)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace using_System_
{
class Program
{
static void Main(string[] args)
{
Console.Write("n = ");
var n = int.Parse(Console.ReadLine());
var leftSum = 0;
for (int i = 0; i < n; i++)
{
leftSum = leftSum + int.Parse(Console.ReadLine());
}
var rightSum = 0;
for (int i = 0; i < n; i++)
{
rightSum = rightSum + int.Parse(Console.ReadLine());
}
if (leftSum==rightSum)
{
Console.WriteLine("Yes,sum= "+leftSum);
}
else
{
Console.WriteLine("No,diff= "+Math.Abs(rightSum-leftSum));
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 0; i < n; i++)
{
int left = int.Parse(Console.ReadLine());
int right = int.Parse(Console.ReadLine());
sum = left + right;
if(Math.Abs(left - right)==0)
Console.WriteLine("Yes, sum = " + sum);
else Console.WriteLine("No, diff = " + Math.Abs(left - right));
}
Console.ReadLine();
}
}
}