Loading...
Yordan.Vachev avatar Yordan.Vachev 2 Точки

Odd/Even position

Напишете програма, която чете n-на брой числа, въведени от потребителя, и пресмята сумата, минимума и
максимума на числата на четни и нечетни позиции (броим от 1). Когато няма минимален / максимален
елемент, отпечатайте "No".
Изходът да се форматира в следния вид:
"OddSum=" + {сума на числата на нечетни позиции},
"OddMin=" + { минимална стойност на числата на нечетни позиции } / {“No”},
"OddMax=" + { максимална стойност на числата на нечетни позиции } / {“No”},
"EvenSum=" + { сума на числата на четни позиции },
"EvenMin=" + { минимална стойност на числата на четни позиции } / {“No”},
"EvenMax=" + { максимална стойност на числата на четни позиции } / {“No”}
Примерен вход и изход
вход изход вход изход вход изход вход изход
6
2
3
5
4
2
1
OddSum=9.00,
OddMin=2.00,
OddMax=5.00,
EvenSum=8.00,
EvenMin=1.00,
EvenMax=4.00
2
1.5
-2.5
OddSum=1.50,
OddMin=1.50,
OddMax=1.50,
EvenSum=-2.50,
EvenMin=-2.50,
EvenMax=-2.50
1
1
OddSum=1.00,
OddMin=1.00,
OddMax=1.00,
EvenSum=0.00,
EvenMin=No,
EvenMax=No

0 OddSum=0.00,
OddMin=No,
OddMax=No,
EvenSum=0.00,
EvenMin=No,
EvenMax=No

вход Изход вход изход вход изход вход изход
5
3
-2
8
11
-3
OddSum=8.00,
OddMin=-3.00,
OddMax=8.00,
EvenSum=9.00,
EvenMin=-2.00,
EvenMax=11.00
4
1.5
1.75
1.5
1.75
OddSum=3.00,
OddMin=1.50,
OddMax=1.50,
EvenSum=3.50,
EvenMin=1.75,
EvenMax=1.75
1
-5
OddSum=-5.00,
OddMin=-5.00,
OddMax=-5.00,
EvenSum=0.00,
EvenMin=No,
EvenMax=No

3
-1
-2
-3
OddSum=-4.00,
OddMin=-3.00,
OddMax=-1.00,
EvenSum=-
2.00,
EvenMin=-
2.00,
EvenMax=-2.00

#include <iostream>
#include <cmath>

using namespace std;

int main() {

    double n;
    cin >> n;

    double oddSum = 0.00;
    double oddMin = 1000000000.0;
    double oddMax = -1000000000.0;
    double evenSum = 0.00;
    double evenMin = 1000000000.0;
    double evenMax = -1000000000.0;

    for(int i = 1; i <= n; i++){
        double number;
        cin >> number;

        if (i % 2 == 0)
        {
            evenSum += number;

            if(number > evenMax){
                evenMax = number;
            }

            if(number < evenMin){
                evenMin = number;
            }
        }
        else
        {
            oddSum += number;

            if(number > oddMax){
                oddMax = number;
            }

            if(number < oddMin){
            oddMin = number;
            }
        }
    }

    cout.setf(ios::fixed);
    cout.precision(2);

    cout << "OddSum = " << oddSum << "," << endl;

    if (oddMin == 1000000000.0)
    {
        cout << "OddMin = No," << endl;
    }
    else
    {
        cout << "OddMin = " << oddMin << ","  << endl;
    }

    if (oddMax == -1000000000.0)
    {
        cout << "OddMax = No," << endl;
    }
    else
    {
        cout << "OddMax = " << oddMax << ","  << endl;
    }

    cout << "EvenSum = " << evenSum << ","  << endl;

    if (evenMin == 1000000000.0)
    {
        cout << "evenMin = No," << endl;
    }
    else
    {
        cout << "evenMin = " << evenMin << "," << endl;
    }

    if (evenMax == -1000000000.0)
    {
        cout << "evenMax = No" << endl;
    }
    else
    {
        cout << "evenMax = " << evenMax << endl;
    }

    return 0;
}


Нещо се омазва със закръглянето в judge изобщо не я приема иначе ми е ок на компилатора!

Тагове:
0
Programming Basics with C++ 13/07/2019 15:54:54
MariyanNikov avatar MariyanNikov 16 Точки

Оправи си формата при принтиране, изисква се да няма разстояния между стойността и равното,както и evenMax,трябва да е EvenMax с главно E.

Като submit-неш в Judge от Details можеш да видиш грешките си и ако са грешки във формата можеш да ги видиш там.

 

 

0
Yordan.Vachev avatar Yordan.Vachev 2 Точки

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

0
13/07/2019 18:09:29
MariyanNikov avatar MariyanNikov 16 Точки

https://pastebin.com/Rk6Hw40T

Това е твоя код,само където съм оправил празните пространства след и преди равното и на 1-2 места сложих голяма буква при принтиране.Друго не съм пипал.

В Judge минава на 100%.

Пробвай да submit-неш това, ако не стане дай линк към твоя submission.

0
Yordan.Vachev avatar Yordan.Vachev 2 Точки


Expected output:
oddsum 9 oddmin 2 oddmax 5 evensum 8 evenmin 1 evenmax 4


Your output:
oddsum 9.00 oddmin 2.00 oddmax 5.00 evensum 8.00 evenmin 1.00 evenmax 4.00

 

от judge е нещо, ама какво е нямам идея   https://judge.softuni.bg/Contests/Compete/Index/1176#2

иска всичко след запетаята, което е 0 да се разкара, но незнам как да го направя това

0
14/07/2019 02:55:13
MariyanNikov avatar MariyanNikov 16 Точки
cout.setf(ios::fixed);
cout.precision(2);

 

Премахнах тези 2 реда и мина с 100 точки.

Явно не се изисква закръгляне до втория знак след запетаята...

0
Yordan.Vachev avatar Yordan.Vachev 2 Точки

благодаря ти, почти съм сигурен, че в моя компилатор първо бяха така и го добавих за да е както е упражнението и после изобщо не се сетих, че може да е оттова!

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