Primero que nada... NO DUPLIQUES COMENTARIOS!!!! Se te responderá cuando haya oportunidad, y si alguien puede (y quiere, no es obligatorio responder).
La cuenta de los números primos te sale mal... porque está mal tu code. No debes revisar si el resto es 1, sino 0 (si es cero, significa que es divisible y no cuenta como primo).
No sé si te hayan dejado el code en la escuela/colegio o lo que sea, de ser así deberías pedirle a quien te lo dejó que te explique el punto 3. Como yo lo entiendo, dice: "pídele al usuario un número N y dime cuántos números igual a ese metió".
Aja todo eso esta bien.. pero lo que no entiendo.. era como... poner la condicion de numeros iguales ni se como colocarla, le pregunte al profesor y me dijo que no sabia a proposito... Pero bueno intentare hacerlo como dices a ver.
Para lo que no sabes hacer: antes de que el usuario introduzca la secuencia de números, pide uno más (algo como "Introduce un número para comparar" o algo así) y compáralo con cada uno de los números que vaya introduciendo. Si es igual a alguno, sumas una unidad a una variable que te sirva como contador (inicializada en 0) y muestras ese contador al final.
Sobre el error... pues ni siquiera lo mencionaste... =/
Edito: Se soluciona fácil ese error: Pon una megacondición englobando todo el code que tienes después de que se introduce el número. Si ese número es DIFERENTE de 0, entras y haces los cálculos, caso contrario no haces nada. Así de fácil.
Aja pero el otro problema que tengo es....que.. los numeros que yo ingreso con el repeat, hasta que se introduzca el cero. no me los suma todos ordenadamente y no se que hacer suponte
meto por teclado 2 4 6 y 10 sabes que eso es 22 y que el promedio seria 22/4 cierto? eso te da 5. algo.. entonces no me tira ese valor, es decir, no me suma BIEN los valores que ingreso por teclado, como lo soluciono?
Pues no sé pascal... pero creo entenderás cómo va la cosa:
repeatreadln(numeros);
if(numeros !=0)then//Megacondición, no sé cómo se ponga en pascal "diferente de", revísalobegin
conta:=conta+1;
num_ingresado:=num_ingresado+conta; //Para el promedio debo usar "num_ingresado" como totalizador
promedio:=(num_ingresado / conta); //Promedio lo llamo despues de que termine el cicloif(numeros mod2=0)then//Proceso donde se cuentan los numeros pares e imparesbegin
cpar:=cpar+1;
porcepar:=cpar /100; //<---Calculo de porcentaje de numeros paresendelsebegin
cimpar:=cimpar+1;
porceimpar:=cimpar /100; //<---Calculo de porcentaje de numeros imparesend;
if(numeros mod2=1)or(numeros mod3=1)or(numeros mod5=1)or(numeros mod7=1)thenbeginendelsebegin
cprimos:=cprimos+1; //<--Cuenta los numeros primosend;
if numeros=0thenbegin
conta:=conta-1;
end;
end;
until numeros=0;
Ya corregi lo del promedio GRACIAS! ahora el problema es lo de los numeros primos, que no me los cuenta todos, y lo de los numeros iguales, que no entiendo como poner la condicion...Se que tengo que agregar un contador de numeros iguales cuando despues del READLN(numeros); el contador seria asi
Inicializar el contador en 0
numerosiguales:=0;
numerosiguales:=numerosiguales+1;
Ahora lo que no entiendo es la condicion... sera asi ?
if numeros = numeros then ?
No creo que sea asi despues del Then empezaria a contar, pero no se como hacer para que me cuente N valores iguales.
La funcion que aplicas ahi eso de N==numeros eso quiere decir que los numeros que ingresas son iguales los compara??? no entiendo eso de lo de ==
osea yo lo puse en pascal asi
if numeroigual = numeros then
begin
numeroigual=numeroigual+1;
Pero no me lo cuenta
end;
EDITO: Ademas el programa no debe pedir los numeros, en la secuencia de numeros, si alguno se repite, este debe mostrarlo, claro que es con un contador... pero como hacer la funcion no se...
Primero que nada... NO
Primero que nada... NO DUPLIQUES COMENTARIOS!!!! Se te responderá cuando haya oportunidad, y si alguien puede (y quiere, no es obligatorio responder).
La cuenta de los números primos te sale mal... porque está mal tu code. No debes revisar si el resto es 1, sino 0 (si es cero, significa que es divisible y no cuenta como primo).
No sé si te hayan dejado el code en la escuela/colegio o lo que sea, de ser así deberías pedirle a quien te lo dejó que te explique el punto 3. Como yo lo entiendo, dice: "pídele al usuario un número N y dime cuántos números igual a ese metió".
Si eso ya lo sabia lo de los primos, pero aun asi.
Aja todo eso esta bien.. pero lo que no entiendo.. era como... poner la condicion de numeros iguales ni se como colocarla, le pregunte al profesor y me dijo que no sabia a proposito... Pero bueno intentare hacerlo como dices a ver.
Para lo que no sabes hacer:
Para lo que no sabes hacer: antes de que el usuario introduzca la secuencia de números, pide uno más (algo como "Introduce un número para comparar" o algo así) y compáralo con cada uno de los números que vaya introduciendo. Si es igual a alguno, sumas una unidad a una variable que te sirva como contador (inicializada en 0) y muestras ese contador al final.
Sobre el error... pues ni siquiera lo mencionaste... =/
Edito: Se soluciona fácil ese error: Pon una megacondición englobando todo el code que tienes después de que se introduce el número. Si ese número es DIFERENTE de 0, entras y haces los cálculos, caso contrario no haces nada. Así de fácil.
Aja pero el otro problema que
Aja pero el otro problema que tengo es....que.. los numeros que yo ingreso con el repeat, hasta que se introduzca el cero. no me los suma todos ordenadamente y no se que hacer suponte
meto por teclado 2 4 6 y 10 sabes que eso es 22 y que el promedio seria 22/4 cierto? eso te da 5. algo.. entonces no me tira ese valor, es decir, no me suma BIEN los valores que ingreso por teclado, como lo soluciono?
Pues estás sumando
Pues estás sumando num_ingresado con conta, no deberías sumar num_ingresado y numeros?
Como haria eso en pascal ? Un
Como haria eso en pascal ? Un ejemplo ?
Pues no sé pascal... pero
Pues no sé pascal... pero creo entenderás cómo va la cosa:
Tengo problemas con el PASCAL [Edito]
Ya corregi lo del promedio GRACIAS! ahora el problema es lo de los numeros primos, que no me los cuenta todos, y lo de los numeros iguales, que no entiendo como poner la condicion...Se que tengo que agregar un contador de numeros iguales cuando despues del READLN(numeros); el contador seria asi
Inicializar el contador en 0
numerosiguales:=0;
numerosiguales:=numerosiguales+1;
Ahora lo que no entiendo es la condicion... sera asi ?
if numeros = numeros then ?
No creo que sea asi despues del Then empezaria a contar, pero no se como hacer para que me cuente N valores iguales.
Solo me falta eso y lo de los primos
Lo de los números iguales es
Lo de los números iguales es muy sencillo. Se supone que el usuario debe darte un número N para comparar, entonces seria tan fácil como poner
(Sin asunto)
Eso de los numros iguales
La funcion que aplicas ahi eso de N==numeros eso quiere decir que los numeros que ingresas son iguales los compara??? no entiendo eso de lo de ==
osea yo lo puse en pascal asi
if numeroigual = numeros then
begin
numeroigual=numeroigual+1;
Pero no me lo cuenta
end;
EDITO: Ademas el programa no debe pedir los numeros, en la secuencia de numeros, si alguno se repite, este debe mostrarlo, claro que es con un contador... pero como hacer la funcion no se...
Rober tambien tengo una duda con los primos
El programa no me los cuenta....Creo que tengo algo mal ahi... y no entiendo eso de los numeros iguales! solo me falta eso y ya
Ayuda
Alguien? Vamos, si entendiera bien el problema ya lo hubiera hecho pero no lo entiendo.