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

Tech Module C# - Arrays 08 Magic Sum . Проблем 60/100 точки.

Условието на задачата е : " Write a program, which prints all unique pairs in an array of integers whose sum is equal to a given number. "

https://pastebin.com/0WNVCss2 Toва е кода ,който успях да измисля .... За съжаление ми дава 60/100 ...
Проблемът е следният .че ,когато въведя вход " 3 3 3 3 "  и сумата да е '6' .. не ми отпечатва  3 3 и 3 3 като изход...а ми  отпечатва 10-пъти тези Тройки....
Когато въведа като вход " 3 3 " и сума '6' ,ми изкарва като изход 2 пъти "3 3" ...а трябва да е само веднъж .
Мисля ,че заради това ми изкарва 60/100 точки ....
Моля за помощ.

 

 

0
Основи на програмирането 12/02/2019 21:28:09
marina.kolova avatar marina.kolova 34 Точки
Best Answer

Не мога да видя кода ти, pastebin казва, че е изтрит.

Но ето ти един работещ: https://pastebin.com/Nipv5mTA

Логиката е следната: Чета си входните данни. Записвам поредицата от числа в масив. Въртя един цикъл от първия елемент на масива до предпоследния. И вътре в него втори цикъл - от втория елемент на масива до последния. Тоест хващам всяко число и го събирам с всяко следващо. Ако сумата им е равна на подаденото от потребителския вход число - директно принтирам съответната двойка.

 

EDIT: Погледнах кода ти. Завърти първия цикъл от i = 0 до i < array.Length - 1 и втория от j = i + 1 до j < array.Length. Така няма да събираш всяко число със самото него.

 

Твоят код - редактиран: https://pastebin.com/HsdX4Ly7

0
12/02/2019 21:53:43
bujo_nomer_6 avatar bujo_nomer_6 0 Точки

Благодаря ти за бързият отговор !
Направих както ми каза ... ДЕБЪГНАХ и си видях грешката и е супер логично да е i + 1 ... защото( i ) вече е взето и ако j = i ,то пак ще го вземе и ще се събере само със себе си ....
Рядко използвам дебъгера ,което ми е грешка ,но ще променя това .
Благодаря отново за бързият отговор !

0