Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





[b]Manuales Fundamentos de la programacion C++[/b]

Iniciado por J_F_NASH, 06 de Marzo de 2003, 07:24:07 PM

« anterior - próximo »

J_F_NASH

                                He aqui la primera duda de uno de los ejercicios del libro COMO PROGRAMAR C/C++. Estoy con el tema de "toma de decisiones (if)" y me plantean algo asi:

Si el usuario introduce 3 numeros (hasta ahí llego). ¿Cómo  logro, con un solo enunciado de if, que el ordenador me diga cual es el mas pequeño y el mas grande?

Estoy rebuscando en el tema pero no veo donde lo explicaba.



Ale, S2.                                

Mars Attacks

                                Con un único if, yo diría así a primera vista que no se puede :)

edito: nota constructiva: mira a ver en la parte de los "elseif" ;) Lo que tratas de hacer requiere varios ifs anidados (a menos que venga ethy y te ponga aquí algo obscuro en una sola línea XD pero no le hagas caso, entre tú y yo, ahora que no nos oye nadie, yo creo que está chalao).                                

MaSteR

                                no sabes q en C/C++ puede progamar en una sola linea?

if (juaszjias)....................... declaraciones cm bool kk, kk2; int feo; asi q en una sola linea xD cualquiera ;)                                

J_F_NASH

                                Bueno. He llegado al tema de los arrays y hay algo que no tengo nada claro a si que no me gustaría seguir sin dejarlo claro.

Tengo este programa:
main()
{
   int n[10] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37};
   int i;

   printf("%s%13sn", "Element", "Value");

   for(i = 0; i <= 9; i++)
        printf("%7d%13dn", i, n);
   return 0;
}


No entiendo esto:
n



Por favor, explicadmelo de la forma mas sencilla y breve posible. Soy un novato como la copa de un pino.




S2.                                

synchrnzr

                                Lo siento, pero tenía que meter esto en su sitio ^_^'

CitarSoy un novato como la copa de un pino

Mira que si no nos lo dices no lo adivinamos XD

Al principio del programa defines el array n

int n[10] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37};

que tiene 10 números. Para acceder a cada uno de ellos tienes que indicar cuál es su posición poniéndola entre corchetes. Ten en cuenta que la posición de cada número se cuenta desde 0.

De esta forma, n[0] es el primer número, es decir, 32, n[1] es 27, n[2] es 64... así sucesivamente.

En el ejemplo que tú pones, n indica que estás utilizando el valor que está en la posición i.

sync                                

tiutiu

                                Estas en el tema de arrays y no has visto el operador [] ?? (Operadores son por ejemplo +, -, /, *, ++, --, [] ), joe pues vaya libro.

Creo que te iria mejor visualizar los elementos de programacion con casos d tu vida cotidiana. Por ejemplo, un array en esencia se podria llamar a un conjunto de variables que les das a todas el mismo nombre, asi q su unica diferencia es un indice, como si ahora tienes varias notas d clase podrias llamar a las variables asi:


int nota1, nota2, nota3, nota4;


pero es una cagada hacer eso, con lo cual hacemos un array de int's y queda mas chachi


int notas[4];

/* Si hacemos la equivalencia entre el ejemplo anterior, podriamos decir que nota1 = notas[0], es decir, que lo que haces al poner [i] detras del nombre de un array le dices al array que te de el elemento i */



Por cierto, ten en cuenta que la numeracion en los arrays empieza por 0.

Es lo mas facil que puedo explicarte los arrays ;)

PD: Si quieres un consejo, mirate los ejemplos q veas al principio con lupa y luego haz como Daniel San
CitarLeer codigo, escribir codigo
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

J_F_NASH

                                Ok, gracias por explicarlo tan claro.

Bueno, mas dudas.
Tengo el siguiente programa:

#include
#define RESPONSE_SIZE 40
#define FREQUENCY_SIZE 11

main()
{
int answer, rating;
int responses[RESPONSE_SIZE] = {1, 2, 6, 4, 8, 5, 9, 7, 8, ... };
int frecuency[FECUENCY_SIZE] = {0};

for(answer = 0; answer <= RESPONSE_SIZE - 1; answer++)
++frecuency[responses[answer]];

printf("%s%17sn", rating", "frequency");

for(rating = 1; rating <= FRECUENCY_SIZE -1; rating++)
printf("%6d%17dn", rating, frecuency{rating});

return 0;
}

Lo que visualizamos en pantalla es esto:


Rating_____________Frecuency
____1_________________2
____2_________________2
____3_________________2
____4_________________2
____5_________________5
____6_________________11
____._________________.
____._________________.
____._________________.



El Problema es que no me cuadran los resultados de Frecuency para nada. ¿Cuales son los pasos para resolver cada Rating?. Ya no se por donde tirar. Me he leido la explicación del ejercicio mil veces, asi como el tema. Esto es exasperante.








S2.                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.