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 изобщо не я приема иначе ми е ок на компилатора!
проблема ми е, че когато го пускам в моя компилатор изписва например 1.00 резултат, както и трябда да е, обаче като го пусна в judge ми го изисква като 1 и оттам всички резултати са ми грешни, пък аз съм му дал да ги закръгля до втория знак.
https://pastebin.com/Rk6Hw40T
Това е твоя код,само където съм оправил празните пространства след и преди равното и на 1-2 места сложих голяма буква при принтиране.Друго не съм пипал.
В Judge минава на 100%.
Пробвай да submit-неш това, ако не стане дай линк към твоя submission.
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 да се разкара, но незнам как да го направя това
Премахнах тези 2 реда и мина с 100 точки.
Явно не се изисква закръгляне до втория знак след запетаята...
благодаря ти, почти съм сигурен, че в моя компилатор първо бяха така и го добавих за да е както е упражнението и после изобщо не се сетих, че може да е оттова!