Hola, llevo bastante tiempo buscando que error tiene el programa para que no cuente bien.
El programa pide: Escribe un programa que lea números enteros por teclado hasta que se introduzca un número negativo. El programa debe mostrar cuál es el número máximo y cuántas veces se ha introducido.
Con el ejemplo de escribir un numero como el 6 y otro mas pequeño como el 5, la cuenta se pone en 2. Yo sospecho que este mal en la lectura del numero o algo similar pero no llego al problema, gracias de antemano.
#include <stdio.h>
int main() {
int num;
int max;
int count = 0;
printf("Introduce un numero: ");
scanf("%d", &num);
while ( num >=0 ){
if (num>max) {
max = num;
count = 1;
}
else if (num=max){
count=count + 1;
printf("contador: %d\n",count);
printf("numero %d\n",num);
}
printf("Introduce un numero: ");
scanf("%d", &num);
}
printf("El numero mayor es %d y se ha introducido %d veces",max,count);
}
else if (num=max){
----->
else if (num==max){
Te explico lo que hicistes en el código, no entendi bien.
Seguro es el if mal que pusistes
#include <stdio.h>
int main() {
int num;
int max;
int count = 0;
printf("Introduce un numero: ");
scanf("%d", &num); // Pedis el numero al cliente
while ( num >=0 ){ // Mientras el numero sea mayor o igual a 0
if (num>max) { // Verifica si el numero es mayor la maximo
max = num; //De ser asi el Maximo pasa a ser el numero
count = 1; //Setea Count en 0
}
else if (num=max){ //De lo contrario verificar si num es igual a max
// ERROR (Debe ser num == max) "=" es setear
// y "==" es verificar si es igual a
count=count + 1; //Contador sube +1 (simplificalo asi Count++ o Count+=1)
printf("contador: %d\n",count); //Printea el Count
printf("numero %d\n",num); //Printea el Numero
}
printf("Introduce un numero: "); // Printea message pidiendo
scanf("%d", &num); //Pide el numero
}
printf("El numero mayor es %d y se ha introducido %d veces",max,count); // Printea valores
}