Sunteți pe pagina 1din 3

/*para que lo puedan leer bien; usenlo en pantalla completa*/

/*este es el programa ke hice de la matiz de 10 por 10, ustedes son libres de


usarlo como les plazca , pero por lo que mas quieran*/
/*si lo copian cambienle por lo menos las
variables (en todo el programa)*/
/*tomando en cuenta que ser�A estupido si dejan la
variable daniel como indicador*/

#include <stdio.h> /*aki coloco los archivos o


librerias que usar�, en este caso, stdio para el scanf, el print f y for */
#include <stdlib.h> /* tambien en stdlib para
usar la funci�n "pause", que hace que aparezca "presione cualkier tekla para
continuar"*/

int a [10][10],b,c,d,z[10],e, daniel; /*declaro las variables, a como


la matriz; b,c,d,e como contadores y z como "vector" para guardar la suma de
columnas*/

main() /*pues el inicio


clasico*/

{ daniel=0 ; /*aki inicializo el


indicador del error (mas adelante se ve)*/

printf ("nota: procura que la suma de las columnas no den los mismos
numeros\n"); /*como advertencia*/
for (b=0;b<10;b++) /*contador que usar� para
filas*/
for (c=0;c<10;c++) /*contador que usar� para
columnas*/
{ /*inicio la serie de
instrucciones de ambos ciclos*/
printf("dame el valor en [%d][%d]\n",b,c);/*aparece la cordenada, pero no
asigna los valores todavia*/
scanf ("%d",&a[b][c]); /*aki ya asigno los valores a
a[b][c]*/
} /*finalizo la serie de
instucciones */

for (b=0;b<10;b++) /*contador que usar� para


columnas*/
for (c=0;c<10;c++) /*contador que usar� para
filas*/
z[b]=z[b]+a[c][b]; /*ojo con esto, aki digo ke z
[b] es igual a la suma de a [c][b], las variables de a invertidas para que lo haga
por columnas, si no,
lo har� por filas*/

/*ahora empezar� con la


impresi�n de la matriz principal (la de 10 por 10)*/

for (b=0;b<10;b++) /*ciclo que usar� para las


columnas*/
{printf("\n"); /*esto es para que
despu�s de imprimir una fila, salte una linea e imprima la siguiente (para dar la
apariencia de matriz)*/
for (c=0;c<10;c++)
printf("[%2d ] ",a[b][c]); /*aqui ya imprime la fila
entera, al finalizar empezar� con el otro for y saltar� de nuevo una linea*/
} /*termina la matriz
principal*/

printf("\n\n"); /*ahora empezar� a


imprimir la suma de cada una de las columnas (ke antes almacen� como z[b])*/
for (b=0;b<10;b++) /*solo necesit un ciclo ya que
solo es un vector (arreglo unidimensional)*/
{printf("[%2d ] ",z[b]);} /*lo imprimo con el mismo
formato que la matriz [%2d ] para que salga mas o menos en la parte de abajo*/

for (b=0;b<10;b++) /*este for lo usar� para hacer


unas comparaciones entre todos los numeros*/

{if (e<z[b]) e=z[b];} /*aki el chiste del programa,


para que obtenga el valor mas alto, le digo que compare a e(que inicia en nada, ni
sikiera en 0) */
/*si z es mayor que e,
entonces el valor de z se guarda en e y por el ciclo, analiza todos los valores de
z, por tanto, solo se */
/*quedara el mayor valor guardado en e*/

for (c=0;c<10;c++) /*esto es solo opcional, una


verificaci�n por si dos o mas sumas resultaran iguales, el primer ciclo es para
tomar el valor de */
for (b=0;b<10;b++) /*comparaci�n inicial y el
segundo for, para tomar el valor a comparar*/
{if (b==c) break; /*aki un truco para que no
compare las mismas casillas*/
else if (z[c]==z[b])daniel=1;} /*aki ya la comparaci�n en si, en
caso de que alguna de las casillas sea igual a otra, se activa el indicador (con
un valor de 1)*/
/*notese que uso dos
for para comparar una misma casilla con todas las demas (exceptuando a ella
misma)*/

for (b=0;;b++) /*aqui otro trukito para


saber cual columna tiene la suma mas grande, un for infinito*/
if (e==z[b]) break; /*aki le indico que si e (ke
es el valor maximo que alcanzaron las sumas) es igual a z[b] (ke seran desde z0
hasta z infinita*/
/* rompa el ciclo, con
lo que b se quedara con el n�mero de la columna que halla alcanzado el valor de
e*/
/*en cristiano, b es el
numero de coordenadas que tiene la columna con la sumatoria mas grande*/

if (daniel==1) /*aki hago uso del


indicador, recuerdan que si dos eran iguales daniel hiba a ser = a uno bueno aki
lo comparamos*/
/*asi que si el
interruptor se activ� imprimira lo de ojo la suma....etc*/
{printf("\n\n ojo: la suma de algunas columnas es igual\n\n"); }
printf("\nla mas grande tiene %d y es la numero %d\n", e,b+1); /*aqui nada
mas imprimo los valores , recordemos que e es el valor m�ximo que alcanzaron las*/
/*sumatorias, y b se qued� en el numero de columna (pero como es muy il�gico que
se empieze*/

/*a contar desde 0, coloqu� b+1, para que si la cordenada de la columna es 0 diga
ke es la columna 1*/

system("pause"); /*aki hago uso de la frase de


sistema de "presiona cualquier tecla para continuar", pero para esto ya coloque al
principio la libreria*/
/*stdlib.h*/
} /*fin del programa*/

/*hecho por eduardo, para todo aquel que kiera leerlo como ayuda personal.
sugerencias, comentarios, preguntas como comment en
http://xinidiscobol.blogspot.com (de donde obtuvieron este archivo pues) */

S-ar putea să vă placă și