While-Arreglos

Lalo
28 de Febrero del 2006
Ayuden a este novatillo, tengo varias dudas.
Casi no he programado en Turbo c, solo los ejemplos escritos que vemos en la escuela.

Si quiero un programa que pida N <= 10 para ordenarlos en un arreglo como le hago.
Tengo esta idea: Lo hago con un while, pero como se programa un while
tengo que declarar el arreglo? Como?

#include<stdio.h>
int main() {
int N,I;
printf(“Cantidad de numeros a ordenar”);
scanf(“%d”&N);

While (N<=10) {
for(I=0;I<N;I++){
printf(“Da un numero”);
scanf(“%d” &N);
}
}
bueno después falta ordenarlos por el metodo de insertion sort, pero eso si lo puedo hacer.
Mi duda es con el while y dar de entrada N.

El programa pide N, si es <= 10, por ej. Doy de entrada un 5, debo dar de entrada 5 numeros. Y si es mayor que 10 que no haga nada, debo de pedir otra vez N.
Primero esta bien el while, y lo que esta adentro?
Que correcciones debo hacer?
Espero me hayan entendido con el programa.

Ese es una duda.

Para hacer un programa que almacene 10 numero en un arreglo de flotas. Y eleve al cuadrado cada uno de los numeros colocando el resultado de nuevo en la misma posición. Debe de mostrar el arreglo antes y después de hacer la multiplicación.

Como declaro un arreglo de floats?

Viene siendo un poco igual al primero, pero aquí me dan el valor exacto (10).

Solo tomo el valor del arreglo, lo imprimo, lo multiplico, lo muestro y después hago la sustitución.

Creo que eso si lo puedo hacer....la duda es arreglo de flotas.

Bueno si me surge algun problema en este después pido ayuda.



Unas ultimas preguntas:

Para el programa 1, ya que se cumplio la condicion de que N<=10 y doy de entrada los numeros. Como puedo hacer para que solo de entrada a numeros enteros?

Que es un numero real en turbo C?

Si quiero que el resultado de hacer una operación con decimales sea en numeros reales, que puedo hacer?

Ojala me hayan entendido.

Gracias por la ayuda.




/////
28 de Febrero del 2006
MIRA DATE CLIP Y MINIMIZATE

Drizzt
28 de Febrero del 2006
Sobre la primera cuestion, creo que debes declarar N como un vector de 10 enteros, sino cada vez que introduzcas un valor estaras machacando el anterior:


#include<stdio.h>
int main() {
int N[10],i;
printf(“Cantidad de numeros a ordenar”);
scanf(“%d”&N);

while(1)
{
if (N<=10)
{
for(i=0;I<N;i++)
{
printf(“Da un numero”);
scanf(“%d” &N[i]);
}
}
}
Con un if el programa sigue adelante tras introducir los numeros, si pones un while, la condicion siempre se cumple y no saldrias nunca del bucle.
Por otro lado, para que el programa se ejecute siempre debes utilizar un bucle infinito while(1).

Suerte

Drizzt
28 de Febrero del 2006
Sorry, me faltaba algo en el anterior algoritmo, este es el bueno:

while(1)
{
printf(“Cantidad de numeros a ordenar”);
scanf(“%d”&N);
if (N<=10)
{
for(i=0;I<N;i++)
{
printf(“Da un numero”);
scanf(“%d” &N[i]);
}
}
}

Debes preguntar la cantidad de numeros siempre, de este modo ya tienes todos los valores OK y dentro del vector N. Si has de operar algo con ellos hazlo dentro del while(1) y dentro del if.