É possível testar ambas as condições ao mesmo tempo, sem necessidade de dois loopings.
#include <stdio.h>
int main()
{
int cartas[5], crescente, decrescente;
for (int i = 0; i < 5; ++i)
{
scanf("%d", &cartas[i]);
}
crescente = decrescente = 1;
for (int i = 0; i < 4; ++i)
{
if (cartas[i] < cartas[i + 1])
decrescente = 0;
if (cartas[i] > cartas[i + 1])
crescente = 0;
}
if (crescente == 1)
printf("C\n");
else if (decrescente == 1)
printf("D\n");
else
printf("N\n");
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> cartas;
bool crescente, decrescente;
cartas.assign(5, 0);
for (int i = 0; i < 5; ++i)
{
cin >> cartas[i];
}
crescente = decrescente = true;
for (int i = 0; i < 4; ++i)
{
if (cartas[i] <= cartas[i + 1])
decrescente = false;
if (cartas[i] >= cartas[i + 1])
crescente = false;
}
if (crescente)
cout << 'C' << endl;
else if (decrescente)
cout << 'D' << endl;
else
{
cout << 'N' << endl;
}
return 0;
}
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');
let cartas = lines.shift().trim().split(' ').map((x) => parseInt(x));
let [crescente, decrescente] = [true, true];
for(let i = 0; i < 4; ++i){
if(cartas[i] <= cartas[i + 1]) decrescente = false;
if(cartas[i] >= cartas[i + 1]) crescente = false;
}
if(crescente) console.log('C');
else if(decrescente) console.log('D');
else console.log('N');
cartas = [int(x) for x in input().strip().split(' ')]
crescente, decrescente = True, True
for i in range(4):
if cartas[i] <= cartas[i + 1]:
decrescente = False
elif cartas[i] >= cartas[i + 1]:
crescente = False
print('C' if crescente else 'D' if decrescente else 'N')