Loading...
Radul avatar Radul 8 Точки

5.Top Integers

Здравейте, някой би ли ми помогнал дава ми 80/100 в джъджа.

Write a program to find all the top integers in an array. A top integer is an integer which is bigger than all the elements to its right.

Examples

Input

Output

1 4 3 2

4 3 2

14 24 3 19 15 17

24 19 17

27 19 42 2 13 45 48

48

using System;
using System.ComponentModel;
using System.Linq;
namespace ToIntegers
{
    class Program
    {
        static void Main()
        {
            
            long[] inputArr = Console.ReadLine().Split(' ').Select(long.Parse).ToArray();
            //int[] novArr = new int[];
            for (long i = 0; i <= inputArr.Length; i++)
            {
                //int[] novArr = new int[i+1];
                for (long j = i; j < inputArr.Length; j++)
                {
                    
                    if (inputArr[i] < inputArr[j])
                    {
                        break;
                    }
                    else if (inputArr[i] >= inputArr[j] && inputArr.Length - 1 == j)
                    {
                        Console.Write(inputArr[i] + " ");
                    }
                    
                }
                
            }
            Console.WriteLine();
        }
    }
}
 

Тагове:
0
Programming Fundamentals
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

 bigger имаш това? да е по-голям

 (inputArr[i] >= inputArr[j]  а слагаш това защо ? при тоя подход имаш 15 15 14 13 поредица примерно, и това ще го върнеш като вярно... а по условие не трябва,15 ще го върнеш като топ число а не трябва,

0
deni.panov avatar deni.panov 15 Точки

Здравей,

погледнах кода ти и тествах няколко решения. За да не ти давам решението наготово (предполагам не това е целта ти) мога да те насоча към тази част от условието - " A top integer is an integer which is bigger than all the elements to its right". Помисли, ако имаш 2 числа с еднаква стойност в масива (например 5 7 1 7), какъв би трябвало да е output-a. Дано това помага.

 

Успех!

1
usera183 avatar usera183 1 Точки

Благодаря, помогна ми да си открия грешката!

1
Kristiyan_hr avatar Kristiyan_hr 1 Точки

Много добър коментар ! Аз имах абсолютно същият проблем и много ми помогна в логиката да намеря къде е проблема. Искрени благодарности ! :) 

1
petra1878 avatar petra1878 3 Точки

На мен също ми помогна този коментар, макар че решението ми е по-различно. Много благодаря!!

0
medical_boy_sf avatar medical_boy_sf 16 Точки

Това е моето предложение за решение на задачата:

https://pastebin.com/cM97nzne

Доколкото разбирам от условието, търсят се всички числа, които са по-големи от останалите, намиращи се отдясно на тях. В твоето решение вътрешният цикъл се чупи само когато дясностоящите числа са по-големи.

0
Radul avatar Radul 8 Точки

Благодаря ви за помощта.

 

0
Cwetomir95 avatar Cwetomir95 16 Точки

Колега пробвах троето решение и то дава 80/100 със грешка часовник. Не знам защо си я написал с тип лонг, смених го на обикновен инт и вече дава 100/100. 

0
medical_boy_sf avatar medical_boy_sf 16 Точки

Cwetomir95, копирал съм кода на колегата горе и просто съм добавил собствено решение, затова е long, дори не съм забелязал. Колкото до точките, на мен ми дава 100/100.

0
06/02/2019 19:21:59
kdew0 avatar kdew0 8 Точки

Мерси колеги, при мен проблема беше в проверката на 16. ред и for-а на 14., реално се искат следващите елементи, а не да включвам и сегашния. Който има проблеми, може да погледне точно там. :)

using System;
using System.Linq;

namespace TopIntegers
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] values = Console.ReadLine().Split().Select(int.Parse).ToArray();
            for (int i = 0; i < values.Length; i++)
            {
                bool isTopInteger = true;
                for (int k = i + 1; k < values.Length; k++)
                {
                    if (values[i] <= values[k])
                    {
                        isTopInteger = false;
                    }
                }

                if (isTopInteger)
                {
                    Console.Write(values[i] + " ");
                }
            }
        }
    }
}

 

-1
boyantoyachki avatar boyantoyachki 0 Точки

using System;
using System.ComponentModel;
using System.Linq;
namespace Arrays_exercise
{
    class Program
    {
        static void Main()
        {

            int[] numbers = Console.ReadLine().Split().Select(int.Parse).ToArray();


            for (int i = 0; i < numbers.Length; i++)
            {
                bool isBiggest = true;

                for (int j = i + 1; j < numbers.Length; j++)
                {
                    if (numbers[i] <= numbers[j])
                    {
                        isBiggest = false;
                    }

 


                }
                if (isBiggest)
                {
                    Console.Write($"{numbers[i]} ");
                }

 

 

 

 

            }
        }
    }
}

0
krum_43 avatar krum_43 756 Точки

Както е коментирал колегата при сравняване на елемемтите знака е строго ">".

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