Buenas tardes a todos, espero que esten muy bien.
El problema que debo resolver es :"SUMA 1-2+3-4+5-6....n"
Mi observacion: pares son negativos e impares positivos.
El unico error que se detecto es :"14: lvalve required as left operand of assignmet"
lo que realizé fue lo siguiente:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int numero,cont,suma=0,resta=0,total;
printf("Ingrese la cantidad de numeros consecutivos a sumar:");
scanf("%d",&numero); // se lee el dato
cont=1;
while(cont<=numero)
{
(cont%2==0)? resta=resta-cont:suma=suma+cont; // linea14
(cont%2==0)? printf("%d",resta):printf("%d",suma);
cont++;
}
total=resta+suma;
printf("El resultado es:%d",total);
return 0;
}
¿Que significa ese error?
¿Esta mal planteado el programa?
gracias de antemano :)
· Los códigos deben ir en etiquetas GeSHi
· No se debe escribir en mayúsculas
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
(cont%2==0)? resta=resta-cont:suma=suma+cont;
estás aplicando el ternario de manera incorrecta, estás usandolo como si fuera un if y no lo es del todo
el error se deriva de una operación de asignación a la misma variable en un ternario, para tu caso un ternario no tiene sentido, usa if en la linea 14, en la 15 no afecta pero no es un uso apropiado del ternario... el no es un if es un operador
por cierto, este problema se puede resolver con una formula matemática sin necesidad de ciclos