Loading...
Nukem avatar Nukem 6 Точки

малко помощ за да подкарам програмката с реални стоиности!

Може ли някой да ми каже, как да го направя и да работи и с реални стойности! Мерси предварително!

using System;

namespace Homework5_Task4
{
class Program
{
static void Main()
{
/*
Write a program that shows the sign (+, - or 0) of the product of three real numbers,
without calculating it. Use a sequence of if operators
*/
// decimal a =decimal.TryParse((Console.ReadLine()), out "Invalid value");
string a = Console.ReadLine();
string b = Console.ReadLine();
string c = Console.ReadLine();
int negativecounter = 0;
int alength = 0;
int blength = 0;
int clength = 0;
for (int i = 0; i < a.Length; i++)
{
alength++;
}
for (int v = 0; v < b.Length; v++)
{
blength++;
}
for (int j = 0; j < c.Length; j++)
{
clength++;
}

if ((Convert.ToInt32(a) == 0) | (Convert.ToInt32(b) == 0) | (Convert.ToInt32(c) == 0))
{
Console.WriteLine("Answer is 0");
}
else
{
if (a[alength-alength] == '-')
{
negativecounter++;
}
if (b[blength-blength] == '-')
{
negativecounter++;
}
if (c[clength-clength] == '-')
{
negativecounter++;
}
}
if(negativecounter%2==0)
{
Console.WriteLine("+");
}
else
{
Console.WriteLine("-");
}
}
}
}

Тагове:
0
Programming Basics
HPetrov avatar HPetrov 822 Точки

Здравей. Малко ми е трудно да проследя логиката на кода ти, но ще ти кажа как я направих аз тази задача. Първо проверявам дали някое от числата не е 0 - ако е -> резултата ще е 0. После проверявам дали само едно от числата е отрицателно. Ако има само едно отрицателно и другите не са "0" - > знака ще е "-". Същото и за всички ако са отрицателни -> 3 отрицателни -> знак "-". За положителен знак проверявам дали всички са положителни или има само 2 отрицателни. Ако са две отрицателни знаем че "-" * "-" = "+". И така... :) Това е конкретно за 3 числа, но ако трябва да се направи за неизвестен предварително брой, просто ще се използва 1 цикъл и броячи за различните знаци ;)

0
Nukem avatar Nukem 6 Точки

идеята ти е добра, аз я направих като конвертирам в стринг с идеята с няколко цикала с for да определя дължината на стринговете, по-този начин като зная дължината на намеря първият знак от низа и евентулано да го сравня с "-" или "+" и един counter да отчита колко --са и + са имам и ако са четно е положително ако са нечетно число е отрицателно, проверката за 0 я направих с 3 or-a, въпросат е че ако почна да змаменям int с decial в кода, няма да може вече да ми сравнява дължината на стринговете!

0
ZvetanIG avatar ZvetanIG 907 Точки

Виж това решение, мисля, че е доста изчистено - http://pastebin.com/3NUDfCs8

В него е използван логическия оператор "^".  Той връща true при различни стойности.  А в задачата е използван за сравнение на  знаците. При различни знаци имаме минус.

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