Hola, no se si todavia te sirve.
Cita:Una serie de números es PRT cuando cumple las siguientes condiciones:
a) Los números que ocupan un lugar par se comportan como una serie creciente.
b) Los números que ocupan un lugar impar son divisibles por 7.
c) La suma de dos números consecutivos siempre es inferior a 100.
El programa terminara de pedir números cuando le entremos un -1.
Lo que te puede servir para resolver algoritmos es hacer algo bien macro de lo que querés hacer y después vas rellenando con el detalle. Por ejemplo un posible razonamiento/solución:
Lo que quiero saber acá es si una serie de numeros es
prt analizando en cada iteración 3 criterios
bool es_ptr(int* serie_numeros){
//si la serie cumple a,b y c retorna true, de lo contrario retorna false.
}
Ok, ahora sabes que neceistas recorrer tu serie para saber si cumple o no, supongo que la serie se da como array
bool es_ptr(int* serie_numeros){
int numero_actual;
int i = 0;
numero_actual = serie_numeros[i]
while( numero_actual != -1){
// si no cumplen a,b o c retorno false
i++;
numero_actual = serie_numeros[i];
}
//todos cumplen
return true;
}
Solo te falta preguntar si se cumplen las condiciones, con ayuda de alguna variable auxiliar no debería ser mucho problema. Notar que C se evalúa siempre pero A y B dependen de si es par o impar
bool es_ptr(int* serie_numeros){
int numero_actual,i, ultimo_nro_par, anterior;
i = 0;
anterior = 0;
ultimo_par = -1;
numero_actual = serie_numeros[i]
while( numero_actual != -1){
if (es_par(i)){ // Evaluo el caso A
if(!(ultimo_par < nro_actual)){
return false; // no cumple A
}
ultimo_nro_par = nro_actual;
}else{ //es impar, evaluo el caso B
if(! es_divisible(numero_actual, 7)){
return false; // No cumple B
}
}
if((anterior + numero_actual) >= 100){
return false; // No cumple C
}
anterior = numero_actual ;
numero_actual = serie_numeros[++i];
}
//todos cumplen
return true;
}
bool es_par(int numero){
//aca tu codigo
}
bool es_divisible(int numerador, int denominador){
// tambien podria ser es_divisible_por_siete(int numerador)
}
Lo hice medio a las patadas, seguro se puede mejorar o hacer una solución más elegante. Espero que te sriva, like y suscribete a mi canal