Софтуерно Инженерство
Loading...
Bullsized avatar Bullsized 153 Точки

виждам, че тук е най-разгорещена дискусията (ето тема с още 4 линка към тази задача: https://softuni.bg/forum/questions/details/15060 )
 

ето и моя примерен код: https://pastebin.com/ta1zkLUn

70/100 в системата. Обяснявам: за мен е безсмислено да се ползва while цикъл за тази задача, за това си ползвам for, като просто вадя 1 от i когато има въведено spin. Другото - ползвам булеви команди за това дали въртенето е съответно надясно или наляво, като се променя при всеки spin. Сравнявам си предната дума с новата въведена и ако са същите анулирам резултатния стринг и прескачам това въртене на цикъла. При всичко изпълнено от условията добавям съответно нова дума към стария стринг или стария стринг към новата дума (редове от 45 до 52). Откровено казано вече не знам какво повече иска задачата, а имам 3 или по-малко грешки според джъджа. Гледах и лекцията от съотвеното упражнение, но там не е решена. Ще съм много благодарен ако някой удари едно рамо по кода. Виждал съм решение, което прави 100/100 със while и switch, което не мисля, че се различава от моето, какво бъркам?

 

0
spzvtbg avatar spzvtbg 581 Точки

https://pastebin.com/78fzeKE9 ето гоооооо - е бутнах го малко  ама 100/100

преместих проверката за спин отпред  за да не се трие ако е въведен 2 поредни пъти и му пастнах проверката и в тази за еднаквите входове защото дори тогава си мени посоката

и понеже има елсе закоментирах дясната посока

като закуча така обикновенно трия всичко, препрочитам условието и си правя нова структура 

0
Bullsized avatar Bullsized 153 Точки

не се бях замислял направо да махна едната булева, хитро попадение. наистина изкарва 100 от 100, мерси за удареното рамо!

стратегията с триенето и на мен ми е влизала в употреба не еднократно, особено като се оказва, че от написаното условие съм разбрал и разписал около 16% от задачата.

0
spzvtbg avatar spzvtbg 581 Точки

моля,

нали за това сме тука!

0
GeorgiKostadinov933 avatar GeorgiKostadinov933 5 Точки

Hi

I have also problems with that exercise and cannot understand whats wrong. I tried to use your solution in order to find my error but I become confused after I test 1 specific input on your code.

Using your code, If I input :

4

spin

spin

go

ko

ji

hh

I get output:

hhjikogo

my code outputs: the otherway around. : gokojihh

mycode gets 70% in judge (4,5,9 are errors)

your code is 100%

My understandig is that if no matter how many times spin is entered the direction of writing is changed every time if spin is entered so why the direction is not changed in your code and why judge says is correct? Im just confused where do I make mistake with the logic of direction..

 

Thanks in advance!

 

0
GeorgiKostadinov933 avatar GeorgiKostadinov933 5 Точки
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Intro_and_Basic_Syntax
{
    class Program
    {
        static void Main(string[] args)
        {

            int n = int.Parse(Console.ReadLine());

            string t = string.Empty;
            string spin = "spin";
            int direction = 0;
            string text = string.Empty;
            string lastString = string.Empty;
            bool sameString = false;
            int spinCount = 0;
            

            for (int i = 0; i < n; i++)
            {
                            
                t = Console.ReadLine();

                if (t == spin)
                {
                    spinCount++;
                    n++;
                }
                if (t != spin && t != lastString)
                {
                    if (spinCount % 2 == 0)
                    {
                        text = text + t;
                    }
                    else
                    {
                        text = t + text;
                    }
                }
                else if (t == spin && t != lastString)
                {
                    //n++;
                }
                else 
                { 
                    

                    text = string.Empty;
                   // direction = 0;
                    sameString = true;
                }
                lastString = t;
                if (sameString)
                {
                    //lastString = t;
                    lastString = string.Empty;
                    sameString = false;
                    
                }
                else
                {
                    //lastString = t;
                }
            }

            Console.WriteLine(text);
            
        }
    }
}

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Intro_and_Basic_Syntax { class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); string t = string.Empty; string spin = "spin"; int direction = 0; string text = string.Empty; string lastString = string.Empty; bool sameString = false; int spinCount = 0; for (int i = 0; i

0
17/07/2017 03:03:49