Loading...
geribob avatar geribob 1 Точки

The Angry Cat

На ето тази задача когато задам проверка array[i] < number изобщо не влиза в нея, Някой може ли да ми каже защо???

 

jonh is very angry with his owner because he left him alone during the teamwork defenses for the programming fundamentals course at softuni.it s time for jonh to get his payback and he will do it by breaking various household items.

each item has a price rating a number that describes how valuable that item is for jonh s owner. you will be given an entry point from which jonh will break the items to his left and then to his right. jonh will never break the item at his entry point.

you must calculate the damage to both his left and right then print only the bigger damage to the household.if both sums are equal print the left one.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Regexs
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int number = int.Parse(Console.ReadLine());
            string input = Console.ReadLine();
            int leftcheapsum = 0;
            int rightcheapsum = 0;
            int leftexpensivesum = 0;
            int rightexpensivesum = 0;

            for (int i = 0; i < array.Length; i++)
            {

                if (input == "cheap")
                {
                    if (array[i] < number)
                    {
                        if (i < number)
                        {

                            leftcheapsum = leftcheapsum + array[i];

                        }
                        if (i > number)
                        {

                            rightcheapsum = rightcheapsum + array[i];

                        }
                    }
                   
                }
                if (input == "expensive")
                {
                    if (array[i] >= number)
                    {
                        if (i < number)
                        {

                            leftexpensivesum = leftexpensivesum + array[i];

                        }
                        if (i > number)
                        {

                            rightexpensivesum = rightexpensivesum + array[i];

                        }
                    }
       
                }

            }
            if (input == "cheap")
            {
                if (leftcheapsum >= rightcheapsum)
                {
                    Console.WriteLine($"left - {leftcheapsum}");
                }
                else
                {
                    Console.WriteLine($"right - {rightcheapsum}");
                }
            }
            if (input == "expensive")
            {
                if (leftexpensivesum >= rightexpensivesum)
                {
                    Console.WriteLine($"left - {leftexpensivesum}");
                }
                else
                {
                    Console.WriteLine($"right - {rightexpensivesum}");
                }
            }
        }
    }
}

Тагове:
1
C# Fundamentals
icowwww avatar icowwww 2813 Точки

Здравей,

Не успях да намеря тази задача в judge. Намерих обаче условие за JS fundamentals mid exam с нулеви тестове в друга тема.

Като втори инпут ти се подава индекс, а не число.

Проверката ти array[i] < number е сравнение между елемент от масива и индекс от масива => array[i] < array[number].

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

https://pastebin.com/XD1peXDN с коментари

1
mladrad avatar mladrad 2 Точки
https://pastebin.com/2REpE9Xw

items_list = list(map(int, input().split(", ")))
entry_point = int(input())
type_of_items = input()
left_list = []
right_list = []
result = 0
position = ''
if entry_point in range(len(items_list)):
    for left in range(0, entry_point):
        left_list.append(items_list[left])
    for right in range(entry_point + 1, len(items_list)):
        right_list.append(items_list[right])

    if type_of_items == "cheap":
        if min(left_list) <= min(right_list):
            res = [i for i in left_list if i < items_list[entry_point]]
            result = sum(res)
            # result = min(left_list)
            position = "Left"
        else:
            res = [i for i in right_list if i < items_list[entry_point]]
            result = sum(res)
            # result = min(right_list)
            position = "Right"
    elif type_of_items == "expensive":
        if max(left_list) > max(right_list):
            res = [i for i in left_list if i >= items_list[entry_point]]
            result = sum(res)
            # result = sum(left_list)
            position = "Left"
        else:
            res = [i for i in right_list if i >= items_list[entry_point]]
            result = sum(res)
            position = "Right"

print(f"{position} - {result}")
0
krum_43 avatar krum_43 756 Точки

Както при много от задачите условието не е много ясно.

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