Loading...
Dimit1r89 avatar Dimit1r89 2 Точки

Equal Words

Здравейте колеги не мога да си обясня защо не мога да я излъжа тая програма.Като напиша 2 еднакви инена няма проблем hello hello yes ми изписва като кажа SoftUni SoftUNi пак казва вярно е но когато кажа примерно водка и Бира казва пак че е вярно а не е !!! 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EqualWords
{
    class EqualWords
    {
        static void Main(string[] args)
        {
            var text1 = Console.ReadLine();
            var text2 = Console.ReadLine();
            String word = text1 + text2;
            

            if (word.Equals(text1 + text2 ))  // 80 % prodalji !!!
            {
                Console.WriteLine("Yes");
            }else
                Console.WriteLine("No");
                  
            
        }
    }
}
            
            

Тагове:
0
Programming Basics
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

не бях запознат с това Equals но се разрових в MSDN Library и видях че в тоя случай май е по-правилно if-а ти да изглежда ето така :

if (text1.Equals(text2)) 

а от string word май няма нужда :)

П.П. и трябва да добавиш след Console.ReadLine().ToLower() за да излизат всички резултати с малки букви и да можеш да ги сравняваш

1
15/02/2016 20:03:16
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

забравих да допълня да сложиш след Console.ReadLine().ToLower :D

0
Dimit1r89 avatar Dimit1r89 2 Точки

Да така стана благодаря ти мн снощи ми отне 2 часа и нищо не направих какви ли не работи пробвах лекций гледах но .... за стринга си прав пропуснах да го изтрия при последния опит :))

0
15/02/2016 20:12:45
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

В такива случаи като си мислиш, че правиш всичко както трябва, и след като се побориш със задачката час-два, може да погледнеш подсказката, и там пише да се ползва това ToLower()

0
Filkolev avatar Filkolev 4482 Точки

Какво опитваш да направиш?

Казваш, че word = text1 + text2 и после проверяваш дали word е равно на това, на което един ред по-нагоре си казал, че е равно. Очевидно винаги ще влезеш в if-a, някои инструменти дори биха ти го показали (Resharper например ще подчертае проверката и ще каже, че винаги се евалюейтва до true), а кодът, който е в else ще го направи сив понеже е излишен.

0
Dimit1r89 avatar Dimit1r89 2 Точки

Пропуснах да истрия стринга при последния опит Благодаря за инфото :)

0
snake85 avatar snake85 0 Точки

Ето го и моето решение на задачата:


        static void Main(string[] args)
        {
            string A = Console.ReadLine();
            string fraze = Console.ReadLine();
            string lowerA = A.ToLower();
            string lowerfraze = fraze.ToLower();
                if (lowerA.Equals(lowerfraze))
                {Console.WriteLine("yes");}
                    else {Console.WriteLine("no");}
        }
    
Have fun and keep coding :)

 

0
Vassil_Ganchev avatar Vassil_Ganchev 3 Точки

Аз го направих така:

 

            var firstWord = Console.ReadLine().ToLower();
            var secondWord = Console.ReadLine().ToLower();           
            if (firstWord.Equals(secondWord))
                Console.WriteLine("yes");
            else
                Console.WriteLine("no");
 

 

0
DimitarKarev avatar DimitarKarev 87 Точки

Ето решение на задачата:

            var word1 = (Console.ReadLine().ToLower());
            var word2 = (Console.ReadLine().ToLower());
            if (word2 == word1) Console.WriteLine("yes");
            else Console.WriteLine("no");

Кратко и просто.

1
SuperNovaElite avatar SuperNovaElite 0 Точки

Аз го реших по този начин и ми изглежда по-лесен от другите, за това го поствам.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Equal_Words
{
    class Program
    {
        static void Main(string[] args)
        {
            var word1 = Console.ReadLine().ToLower();
            var word2 = Console.ReadLine().ToLower();
            if (word1 == word2)
            {
                Console.WriteLine("yes");
            }
            else if (word1 != word2)
            {
                Console.WriteLine("no");
            }
        }
    }
}
 

0
StanBotev avatar StanBotev 6 Точки

Защо събираш стринговете ?  Решението на SuperNovaElite е по-логично .

Единствено ще го посъветвам вместо :

else if (word1 != word2)
            {
                Console.WriteLine("no");
            }

просто напиши :

else

 

0
Leprikona avatar Leprikona 108 Точки

Ето го и моя код, надявам се максимално опростен. Използвах метода "to.Lower", който превръща целия string-ов низ (поредица от символи) в малки букви и след това просто направих един if-else, който да провери дали двата string-а са еднакви.

0
22/09/2016 16:08:09
DanailDrumev avatar DanailDrumev 9 Точки

Привет, разгледах кода ти, реално променливата "String word = text1 + text2"и проверката която правиш с "if-else констукция" ти е грешна. Начина по който си изградил логиката кода е такава, ча компилатора влиза в if-a и винаги изпълнява само него и всеки път, каквито и думи да въведеш ти връща отговор "Yes".

       Относно променливата "String word = text1 + text2":

1 Тя е излишна. Условието на задачата е да сравниш две думи дали са еднакви без значение дали са написани с главни или малки букви, а не да ги долепиш една до друга.

2 Реално, ти казваш на компилатора "вземи тези две думи и ги долепи една до друга". "bira + BIra = biraBIra"

       Относно проверката ти с "if-else" 

if (word.Equals(text1 + text2)) --> "ако word е равно на text1 + text2 отпечатай ми Yеs". Винаги ти връща отговор YES,

                                                   тъи като стойноста в "String word" винаги е същатата като стойноста, която си заложил за проверка в if-а "text1 + text2"
{
      Console.WriteLine("Yes");
 }
 else    ––––––––––––––––––––> реално никога няма да влезеш в else
       Console.WriteLine("No")

String word = text1 + text2; и if (word.Equals(text1 + text2)) винаги ще бъдат еднакви, каквито и думи да въведеш.

Проверяваш две думи с твоя код;

1 Bira

2 vodkA

Стойноста, която се създава в "String word" е "BiravodkA"

След което проверяваш:

if(ако) "BiravodkA"e равно на Bira vodkA(ПЛЮСЪТ ДОЛЕПЯ ДВЕТЕ ДУМИ ЕДНА ДО ДРУГА -> BiravodkA) върни ми отговор Yes.

Следователно: 

if(ако) "BiravodkA"e равно на "BiravodkA"  върни ми отговор Yes

Ето и моето решение:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Equal_Words
{
    class Program
    {
        static void Main(string[] args)
        {
            var text1 = Console.ReadLine().ToLower();
            var text2 = Console.ReadLine().ToLower();

            if (text1 == text2)
            {
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }
        }
    }
}

Надявам се да съм ти помогнал.

Пожелавам ти успех и вдичко най-хубаво.

 

0
KostadinKotevski avatar KostadinKotevski 24 Точки

Здравейте,

като цяло на правилен път сте. Има няколко начина да се реши задачката, аз лично бих използвал най-краткият с "==".

Ето го моето решение: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _11.Same_Words
{
    class Program
    {
        static void Main(string[] args)
        {
            string word =Console.ReadLine().ToLower();
            string word2 = Console.ReadLine().ToLower();

            if (word==word2)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }
        }
    }
}
 

Обикновенно когато си пишете домашното, цялата информация като материал го има в слайдовете. Като се запънете някъде ги използвайте за ориентир. Разбира се това не винаги е вярно като например при задачите с по-висока трудност. 

 

Надявам се да бях полезен.

Поздрави,

Костадин 

0
Leprikona avatar Leprikona 108 Точки

Точно така е, извинявай не бях го прочел както трябва :D

0
22/09/2016 16:10:09
KostadinKotevski avatar KostadinKotevski 24 Точки

Решението Дава 100/100. Никой тест не тества това за което вие говорите иначе съм съгласен с това което казвате. 

0
Leprikona avatar Leprikona 108 Точки

Поправих се, извинявам се за недочитането на кода. :)

 

1
notarobot avatar notarobot 7 Точки

ето мойто : 


            var word1 = Console.ReadLine();
            var word2 = Console.ReadLine();

            if (word1.ToLower() == word2.ToLower())
            {
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
      

1
stefanivanov95 avatar stefanivanov95 5 Точки

Работата е да пишеш възможно най-четим и лесен код за тази

            var text1 = Console.ReadLine().ToLower();
            var text2 = Console.ReadLine().ToLower();
                    
            if (text1 == text2)
            {                
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }

0
george.hd avatar george.hd 39 Точки

 var text1 = "vodka";
            var text2 = "bira";
            String word = "vodka" + "bira";
            

            if ("vodkabira".Equals("vodka" + "bira"))  // 80 % prodalji !!!
            {
                Console.WriteLine("Yes");
            }else
                Console.WriteLine("No");
        }

Логиката ти е таква, че каквото и да напишеш да е вярно.

Опитай с:

var text1 = Console.ReadLine().ToLower();
var text2 = Console.ReadLine().ToLower();
                    
            if (text1 == text2)
            {                
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }

0
24/10/2017 16:06:34
Volen99 avatar Volen99 3 Точки

Аз успях да излъжа Judge с .Length :D Ама, по-добре е така:

using System;

namespace EqualWords
{
    class Program
    {
        static void Main()
        {
            string firstWord = Console.ReadLine().ToLower();
            string secondWord = Console.ReadLine().ToLower();

            if (firstWord == secondWord)
            {
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }
        }
    }
}
 

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