Vous êtes sur la page 1sur 2

Algoritmo Inicio Leer N Para I= 1 hasta N Leer Nom,P May=P Sum=P Dia=1 Para L= 2 hasta 30 Leer Si P>May entonces

May=P Fin si Sum=Sum+P Fin para Pro=Sum/N Imprimir Dia,Pro,May Fin para Fin

Si vamos a trabajar con arreglos tienes que tener primero algo claro y que creo que en el enunciado puede prestarse a error. Un arreglo es un tipo de variable cuyas dimensiones deben ser constantes y se declaran al principio del programa por lo cual la dimensin del array no puede definirse mediante una variable. Esto es as porque en cuanto ejecutas tu programa se reserva la memoria necesaria para guardar ese arreglo y por eso no puede ser variable, se trata de una asignacin esttica de memoria. Una posible solucin; define un arreglo de dos dimensiones de tamao 100 x 100. Mientras el usuario no introduzca ms de 10000 datos (en este caso) todo va bien. Es mejor pasarse de largo que quedar corto. Lo ms cmodo es tratar al arreglo como una matriz de M filas x N columnas. En cuanto al ejercicio yo hara algo como esto; 1. Solicita dimensiones del arreglo (Obtenemos M y N). 2. Rellenamos la matriz (fila por fila por ejemplo). Con dos bucles FOR. Por ejemplo: FOR i=1 TO M { ___FOR j=1 TO N ______{ _________Solicita_numero; _________matriz[i][j] = numero_solicitado;

______} } *indice i = filas *indice j = columnas 3. Sumar todos los elementos salvo los de la diagonal principal. Teniendo en cuenta que los elementos de la diagonal principal son aquellos cuyos subndices son iguales ( i = j); suma=0; //OJO, inicializa siempre las variables FOR i=1 TO M { ___FOR j=1 TO N ______{ _________IF (i = j) CONTINUE; //Esto salta a la siguiente iteracion del 2 bucle FOR _________suma = suma + matriz[i][j]; //Si se cumple la condicin anterior esta instruccin no se ejecuta. ______} } 4. El promedio. Mismo bucle que en el punto 3 pero eliminando la sentencia IF. Cuando obtengas la suma de todos los elementos de la matriz la divides entre el nmero de elementos (M*N). 5. Copiar una fila en un arreglo de una dimensin (La fila 6 por ejemplo). FOR j=1 TO N { ___matriz[6][j] = nuevo_arreglo[j]; } 6. Por ltimo slo queda visualizar los resultados.

Vous aimerez peut-être aussi