es es unprograma de matrizes que suma reta y multiplica creo ya no me acuerdo
checalo espero que te sirva
#include <stdio.h>
#include <conio.h>
#define n_f 5
#define n_c 5
void captura (int n, char iden);
void mostrar (int n,char iden);
void sumar (int op1, int op2, int res);
void restar (int op1, int op2, int res);
void multiplicar (int op1, int op2, int res);
void ordenar_f (int n, int res);
void ordenar_c (int n, int res);
void menor (int n);
void mayor (int n);
void promedio (int n);
int matriz[n_f][n_c][10],nf,nc,i,j,m,z;
void main ()
{
char opc,opco,opcm;
do
{
clrscr();
printf ("nnn");
printf ("ttOperaciones con matricesnnn");
printf ("t*** M e n u ***nn");
printf ("t1. Capturarn");
printf ("t2. Mostrarn");
printf ("t3. Suma de Matricesn");
printf ("t4. Resta de Matricesn");
printf ("t5. Multiplicacion de Matricesn");
printf ("t6. Ordenar por filas y columnas a la matriz => n");
printf ("t7. Valor Menor, Mayor y Promedio => nn");
printf ("t8. Salirnn");
printf ("ttOpcion ");
opc=getch();
switch(opc)
{
case '1':clrscr();
printf ("nntCapturando las matrices A y Bnn");
printf ("t No. de Filas: ");
scanf("%d",&nf);
printf ("tNo. de Columnas: ");
scanf("%d",&nc);
printf("n");
captura (0,'A');
captura (1,'B');
break;
case '2':clrscr();
printf ("nntLas matrices capturadas son:nn");
mostrar(0,'A');
mostrar(1,'B');
getch();
break;
case '3':clrscr();
printf ("nntLa Suma de las matrices A y B es:nn");
sumar (0,1,2);
getch();
break;
case '4':clrscr();
printf ("nntLa Resta de las matrices A y B es:nn");
restar (0,1,3);
getch();
break;
case '5':clrscr();
printf ("nntLa Multiplicacion de las matrices A y B es:nn");
multiplicar (0,1,4);
getch();
break;
case '6':do
{
clrscr();
printf ("nntt* * Menu ordenar * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opco=getch();
switch(opco)
{
case '1':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(0,'A');
printf ("nnn");
ordenar_f(0,7);
printf ("nnn");
ordenar_c(0,6);
getch();
break;
case '2':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(1,'B');
printf ("nnn");
ordenar_f(1,7);
printf ("nnn");
ordenar_c(1,6);
getch();
break;
}
}
while(opco!='3');
break;
case '7':do
{
clrscr();
printf ("nnt* * Menu Menor, Mayor, Promedio * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opcm=getch();
switch(opcm)
{
case '1':clrscr();
menor(0);
mayor(0);
promedio(0);
getch();
break;
case '2':clrscr();
menor(1);
mayor(1);
promedio(1);
getch();
break;
}
}
while(opcm!='3');
break;
}
}
while(opc!='8');
}
void captura(int n, char iden)
{
int i,j;
printf ("ntMatriz %c:n ",iden);
printf ("n");
for (i=0;i<nf;i++)
for (j=0;j<nc;j++)
{
printf ("tElemento [%d][%d]: ",i+1,j+1);
scanf ("%d",&matriz[i][j][n]);
}
printf("nn");
}
void mostrar (int n, char iden)
{
int i,j;
printf ("tMatriz %c:n",iden);
printf ("n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][n]);
printf ("n");
}
}
void sumar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] + matriz[i][j][op2];
}
}
printf("ntResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" + ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void restar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] - matriz[i][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" - ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void multiplicar (int op1, int op2, int res)
{
int i,j,k;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
for (k=0;k<nc;k++)
matriz[i][j][res] += matriz[i][k][op1] * matriz[k][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" X ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void ordenar_f(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nf;j++)
{
for (i=0;i<nc-1;i++)
{
for (k=i+1;k<nc;k++)
{
if (matriz[j][i][res] > matriz[j][k][res])
{
aux = matriz[j][i][res];
matriz[j][i][res] = matriz[j][k][res];
matriz[j][k][res] = aux;
}
}
}
}
printf ("ntOrdenado por filasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void ordenar_c(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nc;j++)
{
for (i=0;i<nf-1;i++)
{
for (k=i+1;k<nf;k++)
{
if (matriz[i][j][res] > matriz[k][j][res])
{
aux = matriz[i][j][res];
matriz[i][j][res] = matriz[k][j][res];
matriz[k][j][res] = aux;
}
}
}
}
printf ("ntOrdenado por culumnasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void menor(int n)
{
int i,j,auxm=1,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxm > matriz[i][j][n])
{
auxm=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero menor es: %d posicion [%d][%d] ",auxm,posf+1,posc+1);
}
void mayor(int n)
{
int i,j,auxM=0,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxM < matriz[i][j][n])
{
auxM=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero mayor es: %d posicion [%d][%d] ",auxM,posf+1,posc+1);
}
void promedio(int n)
{
int i,j;
float acu=0,p;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
acu+=matriz[i][j][n];
}
}
p = acu/(nf*nc);
printf ("nntEl promedio la matriz es: %4.2f",p);
}
Ejemplo:
#include <stdio.h>
int main()
{
int fila, columna;
int matriz[2][2];
for(fila=0; fila<2; fila++)
for(columna=0; columna<2; columna++)
printf(“%d“, matriz[fila][columna]);
return 0;
}
PSEINT MATRIZ Q SI FUNCA.......
1.........................
Proceso sin_titulo
Dimension vect(50,50)
Escribir 'ingrese el numero dela fila y columa susecivamente';
Leer n,m;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir ' ';
Escribir 'fila',i;
Para j<-1 Hasta m Con Paso 1 Hacer
Leer vect(i,j);
FinPara
FinPara
a<-0; b<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
a<-0;
Para j<-1 Hasta m Con Paso 1 Hacer
a<-a+vect(i,j);
vect(i,m+1)<-a;
FinPara
FinPara
Para j<-1 Hasta m+1 Con Paso 1 Hacer
b<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
b<-b+vect(i,j);
vect(n+1,j)<-b;
FinPara
FinPara
Para i<-1 Hasta n+1 Con Paso 1 Hacer
Escribir ' ';
Escribir 'fila' ,i;
Para j<-1 Hasta m+1 Con Paso 1 Hacer
Escribir vect(i,j);
FinPara
FinPara
FinProceso
2....................................
Proceso sin_titulo
Dimension vect(50,50);
Escribir 'numero filas';
Escribir '2';
Escribir 'ingrese el numero columnas';
Leer n;
Para i<-1 Hasta 2 Con Paso 1 Hacer
Escribir 'numero de fila ' , i;
Para j<-1 Hasta n Con Paso 1 Hacer
Leer vect(i,j);
vect(2,j)<-vect(i,j)^2;
FinPara
i<-2;
FinPara
Escribir 'la nueva matriz es';
Para i<-1 Hasta 2 Con Paso 1 Hacer
Escribir 'numero fila',i;
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir vect(i,j);
FinPara
FinPara
FinProceso
3...............................
Proceso sin_titulo
Dimension a(50,50);
Leer n,m;
Para i<-1 Hasta n Con Paso 1 Hacer
s<-0;
Escribir ' ';
Escribir 'fila',i;
Para j<-1 Hasta m Con Paso 1 Hacer
Leer a(i,j);
s<-s+a(i,j);
FinPara
Escribir 'la suma es ' , s;
FinPara
Para j<-1 Hasta m Con Paso 1 Hacer
s<-0;
Escribir ' ';
Escribir 'columna ' ,j;
Para i<-1 Hasta n Con Paso 1 Hacer
s<-s+a(i,j);
FinPara
Escribir 'la suma es' ,s;
FinPara
cont<-0
Repetir
tolfi<-s+s;
Escribir ' la suma de los datos de la fila es ' , tolfi ;
Hasta Que cont<n
FinProceso
4.......................................
Proceso sin_titulo
Dimension a(50,50);
Leer n,m;
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta m Con Paso 1 Hacer
Leer a(i,j);
FinPara
FinPara
Para j<-1 Hasta m Con Paso 1 Hacer
Para i<-1 Hasta n Con Paso 1 Hacer
Si a(i,j)>0 Entonces
posi<-p+a(i,j);
Sino
neg<-n+a(i,j);
FinSi
FinPara
FinPara
Escribir 'la suma de positivos es' ,posi;
Escribir 'la suma de negativos es' ,neg;
FinProceso
SI ALGUNO NO LES FUNCA ABISEN NO REVISE TODOS
5...................
Proceso multiplicacion_matrices
// definicion de largos y anchos de las matrices
Escribir "";
Escribir "ingrese cantidad de filas y columnas de la 1a matriz";
Escribir "No. de filas :";
Leer A;
Escribir "No. de columnas :";
Leer B;
Dimension matriz1 (50,50);
Escribir "";
Escribir "ingrese cantidad de filas y columnas de la 2a matriz";
Escribir "No. de filas :";
Leer C;
Escribir "No. de columnas :";
Leer D;
Dimension matriz2 (50,50);
si B=C Entonces // determinacion si son multiplicables o no
Escribir "";
Escribir "las matrices son multiplicables. se generara una matriz de ", A,"X",
D;
Dimension matrizresul(50,50);
// ingreso de datos de la 1a matriz
Escribir "";
Escribir "ingrese datos de la 1a matriz";
Para i<-1 Hasta A Con Paso 1 Hacer
Para j<-1 Hasta B Con Paso 1 Hacer
Escribir "ingrese dato de la posicion ",i,",",j;
Leer matriz1(i,j);
FinPara
FinPara
// ingreso de datos de la 2a matriz
Escribir "";
Escribir "ahora ingrese datos de la 2a matriz";
Para i<-1 Hasta C Con Paso 1 Hacer
Para j<-1 Hasta D Con Paso 1 Hacer
Escribir "ingrese dato de la pocicion ",i,",",j;
Leer matriz2(i,j);
FinPara
FinPara
// multiplicacion
Para i<-1 hasta A Con Paso 1 Hacer
Para j<-1 hasta D Con Paso 1 Hacer
suma <- 0 ; // acumulador de las multiplicaciones necesarias
Para x<-1 hasta B Con Paso 1 Hacer
suma <- suma + matriz1(i,x) * matriz2(x,j);
FinPara
matrizresul(i,j) <- suma;
FinPara
FinPara
// mostrar los resultados en orden
Escribir "";
Escribir "la matriz generada es:";
Para i<-1 Hasta A Con Paso 1 Hacer
Escribir 'FILA ',i,':';
Para j<-1 Hasta D Con Paso 1 Hacer
Escribir matrizresul(i,j);
FinPara
FinPara
Sino
Escribir "";
Escribir "sorry... las matrices no son multiplicables (el numero de columnas de
la primera matriz debe ser igual al de filas de la segunda matriz)";
FinSi
FinProceso
6...............................................
Proceso sin_titulo
Dimension a(50,50);
Dimension vect1(50);
Dimension vect2(50);
Escribir 'ingrese el numero de filas y columnas';
Leer n;
Repetir
Hasta Que n>0
b<-0; c<-0;
sum<-0; sum1<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
a(i,j)<-azar(100)
FinPara
FinPara
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir 'fila ' , i;
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir a(i,j);
FinPara
FinPara
Para i<-1 Hasta n Con Paso 1 Hacer
sum<-0;
Para j<-1 Hasta n Con Paso 1 Hacer
sum<-sum+a(i,j);
vect1(i)<-sum;
FinPara
FinPara
Para j<-1 Hasta n Con Paso 1 Hacer
sum1<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
sum1<-sum1+a(i,j);
vect2(j)<-sum1;
FinPara
FinPara
Escribir 'la sumatoria de la fila es';
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir vect1(i);
FinPara
Escribir 'la sumatoria de las columnas';
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir vect2(j);
FinPara
FinProceso
7...............................
Proceso sin_titulo
Dimension vect(50,50);
Escribir 'ingrese el numero de filas y columnas sucesivamente';
Leer n,m;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir 'numero de fila ' , i;
Para j<-1 Hasta m Con Paso 1 Hacer
Leer vect(i,j);
FinPara
FinPara
pos<-0; neg<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta m Con Paso 1 Hacer
Si vect(i,j)>0 Entonces
pos<-pos+vect(i,j);
Sino
neg<-neg+vect(i,j);
FinSi
FinPara
FinPara
Escribir 'la sumatoria de los positivos es ' , pos;
Escribir 'la sumatoria de los negativos es ' , neg;
FinProceso
8...............................................................................
.........
Proceso sin_titulo
Dimension vect(50,50)
Escribir 'ingrese el numero dela fila y columa matriz cuadrada';
Leer n;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir ' ';
Escribir 'fila',i;
Para j<-1 Hasta n Con Paso 1 Hacer
Leer vect(i,j);
FinPara
FinPara
Escribir 'la transposicion es';
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir 'fila ' , j;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir vect(i,j);
FinPara
FinPara
FinProceso
9........................................................
Proceso sin_titulo
Dimension vect(50,50)
Escribir 'ingrese el numero dela fila y columa matriz cuadrada';
Leer n;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir ' ';
Escribir 'fila',i;
Para j<-1 Hasta n Con Paso 1 Hacer
Leer vect(i,j);
FinPara
FinPara
a<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
Si i<>j Entonces
Si i,j=0; Entonces
a<-a+1;
Sino
FinSi
Sino
FinSi
FinPara
FinPara
tot<-(n*n)-n;
Si a=tot Entonces
Escribir 'la resultante es una diagonal principal';
Sino
Escribir 'la resultante no es una diagonal principal';
FinSi
FinProceso

Matrices

  • 1.
    es es unprogramade matrizes que suma reta y multiplica creo ya no me acuerdo checalo espero que te sirva #include <stdio.h> #include <conio.h> #define n_f 5 #define n_c 5 void captura (int n, char iden); void mostrar (int n,char iden); void sumar (int op1, int op2, int res); void restar (int op1, int op2, int res); void multiplicar (int op1, int op2, int res); void ordenar_f (int n, int res); void ordenar_c (int n, int res); void menor (int n); void mayor (int n); void promedio (int n); int matriz[n_f][n_c][10],nf,nc,i,j,m,z; void main () { char opc,opco,opcm; do { clrscr(); printf ("nnn"); printf ("ttOperaciones con matricesnnn"); printf ("t*** M e n u ***nn"); printf ("t1. Capturarn"); printf ("t2. Mostrarn"); printf ("t3. Suma de Matricesn"); printf ("t4. Resta de Matricesn"); printf ("t5. Multiplicacion de Matricesn"); printf ("t6. Ordenar por filas y columnas a la matriz => n"); printf ("t7. Valor Menor, Mayor y Promedio => nn"); printf ("t8. Salirnn"); printf ("ttOpcion "); opc=getch(); switch(opc) { case '1':clrscr(); printf ("nntCapturando las matrices A y Bnn"); printf ("t No. de Filas: "); scanf("%d",&nf); printf ("tNo. de Columnas: "); scanf("%d",&nc); printf("n"); captura (0,'A'); captura (1,'B'); break; case '2':clrscr(); printf ("nntLas matrices capturadas son:nn"); mostrar(0,'A'); mostrar(1,'B'); getch(); break; case '3':clrscr(); printf ("nntLa Suma de las matrices A y B es:nn"); sumar (0,1,2);
  • 2.
    getch(); break; case '4':clrscr(); printf ("nntLaResta de las matrices A y B es:nn"); restar (0,1,3); getch(); break; case '5':clrscr(); printf ("nntLa Multiplicacion de las matrices A y B es:nn"); multiplicar (0,1,4); getch(); break; case '6':do { clrscr(); printf ("nntt* * Menu ordenar * *nnn"); printf ("t1. Matriz An"); printf ("t2. Matriz Bn"); printf ("t3. Volvernn"); printf ("tOpcion "); opco=getch(); switch(opco) { case '1':clrscr(); printf ("ntLa matriz original capturado es:nn"); mostrar(0,'A'); printf ("nnn"); ordenar_f(0,7); printf ("nnn"); ordenar_c(0,6); getch(); break; case '2':clrscr(); printf ("ntLa matriz original capturado es:nn"); mostrar(1,'B'); printf ("nnn"); ordenar_f(1,7); printf ("nnn"); ordenar_c(1,6); getch(); break; } } while(opco!='3'); break; case '7':do { clrscr(); printf ("nnt* * Menu Menor, Mayor, Promedio * *nnn"); printf ("t1. Matriz An"); printf ("t2. Matriz Bn"); printf ("t3. Volvernn"); printf ("tOpcion "); opcm=getch(); switch(opcm) { case '1':clrscr(); menor(0); mayor(0); promedio(0); getch(); break; case '2':clrscr(); menor(1);
  • 3.
    mayor(1); promedio(1); getch(); break; } } while(opcm!='3'); break; } } while(opc!='8'); } void captura(int n,char iden) { int i,j; printf ("ntMatriz %c:n ",iden); printf ("n"); for (i=0;i<nf;i++) for (j=0;j<nc;j++) { printf ("tElemento [%d][%d]: ",i+1,j+1); scanf ("%d",&matriz[i][j][n]); } printf("nn"); } void mostrar (int n, char iden) { int i,j; printf ("tMatriz %c:n",iden); printf ("n"); for (i=0;i<nf;i++) { for (j=0;j<nc;j++) printf (" %4dt", matriz[i][j][n]); printf ("n"); } } void sumar (int op1, int op2, int res) { int i,j; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { matriz[i][j][res] += matriz[i][j][op1] + matriz[i][j][op2]; } } printf("ntResultado:nn"); for (i=0;i<nf;i++) { for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][op1]); if (i!=1) printf (" "); else printf (" + "); for (j=0;j<nc;j++) printf("%4d",matriz[i][j][op2]); if(i!=1) printf (" "); else
  • 4.
    printf (" ="); for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][res]); printf ("n"); } } void restar (int op1, int op2, int res) { int i,j; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { matriz[i][j][res] += matriz[i][j][op1] - matriz[i][j][op2]; } } printf("nResultado:nn"); for (i=0;i<nf;i++) { for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][op1]); if (i!=1) printf (" "); else printf (" - "); for (j=0;j<nc;j++) printf("%4d",matriz[i][j][op2]); if(i!=1) printf (" "); else printf (" = "); for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][res]); printf ("n"); } } void multiplicar (int op1, int op2, int res) { int i,j,k; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { for (k=0;k<nc;k++) matriz[i][j][res] += matriz[i][k][op1] * matriz[k][j][op2]; } } printf("nResultado:nn"); for (i=0;i<nf;i++) { for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][op1]); if (i!=1) printf (" "); else printf (" X "); for (j=0;j<nc;j++) printf("%4d",matriz[i][j][op2]); if(i!=1) printf (" "); else printf (" = ");
  • 5.
    for (j=0;j<nc;j++) printf ("%4d",matriz[i][j][res]); printf("n"); } } void ordenar_f(int n, int res) { int i,j,k,aux; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) matriz[i][j][res]=matriz[i][j][n]; } for (j=0;j<nf;j++) { for (i=0;i<nc-1;i++) { for (k=i+1;k<nc;k++) { if (matriz[j][i][res] > matriz[j][k][res]) { aux = matriz[j][i][res]; matriz[j][i][res] = matriz[j][k][res]; matriz[j][k][res] = aux; } } } } printf ("ntOrdenado por filasnn"); for (i=0;i<nf;i++) { for (j=0;j<nc;j++) printf (" %4dt", matriz[i][j][res]); printf ("n"); } printf ("n"); } void ordenar_c(int n, int res) { int i,j,k,aux; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) matriz[i][j][res]=matriz[i][j][n]; } for (j=0;j<nc;j++) { for (i=0;i<nf-1;i++) { for (k=i+1;k<nf;k++) { if (matriz[i][j][res] > matriz[k][j][res]) { aux = matriz[i][j][res]; matriz[i][j][res] = matriz[k][j][res]; matriz[k][j][res] = aux; } } } } printf ("ntOrdenado por culumnasnn"); for (i=0;i<nf;i++)
  • 6.
    { for (j=0;j<nc;j++) printf ("%4dt", matriz[i][j][res]); printf ("n"); } printf ("n"); } void menor(int n) { int i,j,auxm=1,posf=0,posc=0; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { if (auxm > matriz[i][j][n]) { auxm=matriz[i][j][n]; posf=i; posc=j; } } } printf ("nntEl numero menor es: %d posicion [%d][%d] ",auxm,posf+1,posc+1); } void mayor(int n) { int i,j,auxM=0,posf=0,posc=0; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { if (auxM < matriz[i][j][n]) { auxM=matriz[i][j][n]; posf=i; posc=j; } } } printf ("nntEl numero mayor es: %d posicion [%d][%d] ",auxM,posf+1,posc+1); } void promedio(int n) { int i,j; float acu=0,p; for (i=0;i<nf;i++) { for (j=0;j<nc;j++) { acu+=matriz[i][j][n]; } } p = acu/(nf*nc); printf ("nntEl promedio la matriz es: %4.2f",p); }
  • 7.
    Ejemplo: #include <stdio.h> int main() { intfila, columna; int matriz[2][2]; for(fila=0; fila<2; fila++) for(columna=0; columna<2; columna++) printf(“%d“, matriz[fila][columna]); return 0; } PSEINT MATRIZ Q SI FUNCA....... 1......................... Proceso sin_titulo Dimension vect(50,50) Escribir 'ingrese el numero dela fila y columa susecivamente'; Leer n,m; Para i<-1 Hasta n Con Paso 1 Hacer Escribir ' '; Escribir 'fila',i; Para j<-1 Hasta m Con Paso 1 Hacer Leer vect(i,j); FinPara FinPara a<-0; b<-0; Para i<-1 Hasta n Con Paso 1 Hacer a<-0; Para j<-1 Hasta m Con Paso 1 Hacer a<-a+vect(i,j); vect(i,m+1)<-a; FinPara FinPara Para j<-1 Hasta m+1 Con Paso 1 Hacer b<-0; Para i<-1 Hasta n Con Paso 1 Hacer b<-b+vect(i,j); vect(n+1,j)<-b; FinPara FinPara Para i<-1 Hasta n+1 Con Paso 1 Hacer
  • 8.
    Escribir ' '; Escribir'fila' ,i; Para j<-1 Hasta m+1 Con Paso 1 Hacer Escribir vect(i,j); FinPara FinPara FinProceso 2.................................... Proceso sin_titulo Dimension vect(50,50); Escribir 'numero filas'; Escribir '2'; Escribir 'ingrese el numero columnas'; Leer n; Para i<-1 Hasta 2 Con Paso 1 Hacer Escribir 'numero de fila ' , i; Para j<-1 Hasta n Con Paso 1 Hacer Leer vect(i,j); vect(2,j)<-vect(i,j)^2; FinPara i<-2; FinPara Escribir 'la nueva matriz es'; Para i<-1 Hasta 2 Con Paso 1 Hacer Escribir 'numero fila',i; Para j<-1 Hasta n Con Paso 1 Hacer Escribir vect(i,j); FinPara FinPara FinProceso 3............................... Proceso sin_titulo Dimension a(50,50); Leer n,m; Para i<-1 Hasta n Con Paso 1 Hacer s<-0; Escribir ' '; Escribir 'fila',i; Para j<-1 Hasta m Con Paso 1 Hacer Leer a(i,j); s<-s+a(i,j); FinPara Escribir 'la suma es ' , s; FinPara Para j<-1 Hasta m Con Paso 1 Hacer s<-0; Escribir ' '; Escribir 'columna ' ,j; Para i<-1 Hasta n Con Paso 1 Hacer s<-s+a(i,j); FinPara Escribir 'la suma es' ,s; FinPara cont<-0 Repetir tolfi<-s+s; Escribir ' la suma de los datos de la fila es ' , tolfi ;
  • 9.
    Hasta Que cont<n FinProceso 4....................................... Procesosin_titulo Dimension a(50,50); Leer n,m; Para i<-1 Hasta n Con Paso 1 Hacer Para j<-1 Hasta m Con Paso 1 Hacer Leer a(i,j); FinPara FinPara Para j<-1 Hasta m Con Paso 1 Hacer Para i<-1 Hasta n Con Paso 1 Hacer Si a(i,j)>0 Entonces posi<-p+a(i,j); Sino neg<-n+a(i,j); FinSi FinPara FinPara Escribir 'la suma de positivos es' ,posi; Escribir 'la suma de negativos es' ,neg; FinProceso SI ALGUNO NO LES FUNCA ABISEN NO REVISE TODOS 5................... Proceso multiplicacion_matrices // definicion de largos y anchos de las matrices Escribir ""; Escribir "ingrese cantidad de filas y columnas de la 1a matriz"; Escribir "No. de filas :"; Leer A; Escribir "No. de columnas :"; Leer B; Dimension matriz1 (50,50); Escribir ""; Escribir "ingrese cantidad de filas y columnas de la 2a matriz"; Escribir "No. de filas :"; Leer C; Escribir "No. de columnas :"; Leer D; Dimension matriz2 (50,50); si B=C Entonces // determinacion si son multiplicables o no Escribir ""; Escribir "las matrices son multiplicables. se generara una matriz de ", A,"X", D; Dimension matrizresul(50,50); // ingreso de datos de la 1a matriz Escribir ""; Escribir "ingrese datos de la 1a matriz";
  • 10.
    Para i<-1 HastaA Con Paso 1 Hacer Para j<-1 Hasta B Con Paso 1 Hacer Escribir "ingrese dato de la posicion ",i,",",j; Leer matriz1(i,j); FinPara FinPara // ingreso de datos de la 2a matriz Escribir ""; Escribir "ahora ingrese datos de la 2a matriz"; Para i<-1 Hasta C Con Paso 1 Hacer Para j<-1 Hasta D Con Paso 1 Hacer Escribir "ingrese dato de la pocicion ",i,",",j; Leer matriz2(i,j); FinPara FinPara // multiplicacion Para i<-1 hasta A Con Paso 1 Hacer Para j<-1 hasta D Con Paso 1 Hacer suma <- 0 ; // acumulador de las multiplicaciones necesarias Para x<-1 hasta B Con Paso 1 Hacer suma <- suma + matriz1(i,x) * matriz2(x,j); FinPara matrizresul(i,j) <- suma; FinPara FinPara // mostrar los resultados en orden Escribir ""; Escribir "la matriz generada es:"; Para i<-1 Hasta A Con Paso 1 Hacer Escribir 'FILA ',i,':'; Para j<-1 Hasta D Con Paso 1 Hacer Escribir matrizresul(i,j); FinPara FinPara
  • 11.
    Sino Escribir ""; Escribir "sorry...las matrices no son multiplicables (el numero de columnas de la primera matriz debe ser igual al de filas de la segunda matriz)"; FinSi FinProceso 6............................................... Proceso sin_titulo Dimension a(50,50); Dimension vect1(50); Dimension vect2(50); Escribir 'ingrese el numero de filas y columnas'; Leer n; Repetir Hasta Que n>0 b<-0; c<-0; sum<-0; sum1<-0; Para i<-1 Hasta n Con Paso 1 Hacer Para j<-1 Hasta n Con Paso 1 Hacer a(i,j)<-azar(100) FinPara FinPara Para i<-1 Hasta n Con Paso 1 Hacer Escribir 'fila ' , i; Para j<-1 Hasta n Con Paso 1 Hacer Escribir a(i,j); FinPara FinPara Para i<-1 Hasta n Con Paso 1 Hacer sum<-0; Para j<-1 Hasta n Con Paso 1 Hacer sum<-sum+a(i,j); vect1(i)<-sum; FinPara FinPara Para j<-1 Hasta n Con Paso 1 Hacer sum1<-0; Para i<-1 Hasta n Con Paso 1 Hacer sum1<-sum1+a(i,j); vect2(j)<-sum1; FinPara FinPara Escribir 'la sumatoria de la fila es'; Para i<-1 Hasta n Con Paso 1 Hacer Escribir vect1(i); FinPara Escribir 'la sumatoria de las columnas'; Para j<-1 Hasta n Con Paso 1 Hacer Escribir vect2(j); FinPara FinProceso 7............................... Proceso sin_titulo Dimension vect(50,50); Escribir 'ingrese el numero de filas y columnas sucesivamente';
  • 12.
    Leer n,m; Para i<-1Hasta n Con Paso 1 Hacer Escribir 'numero de fila ' , i; Para j<-1 Hasta m Con Paso 1 Hacer Leer vect(i,j); FinPara FinPara pos<-0; neg<-0; Para i<-1 Hasta n Con Paso 1 Hacer Para j<-1 Hasta m Con Paso 1 Hacer Si vect(i,j)>0 Entonces pos<-pos+vect(i,j); Sino neg<-neg+vect(i,j); FinSi FinPara FinPara Escribir 'la sumatoria de los positivos es ' , pos; Escribir 'la sumatoria de los negativos es ' , neg; FinProceso 8............................................................................... ......... Proceso sin_titulo Dimension vect(50,50) Escribir 'ingrese el numero dela fila y columa matriz cuadrada'; Leer n; Para i<-1 Hasta n Con Paso 1 Hacer Escribir ' '; Escribir 'fila',i; Para j<-1 Hasta n Con Paso 1 Hacer Leer vect(i,j); FinPara FinPara Escribir 'la transposicion es'; Para j<-1 Hasta n Con Paso 1 Hacer Escribir 'fila ' , j; Para i<-1 Hasta n Con Paso 1 Hacer Escribir vect(i,j); FinPara FinPara FinProceso 9........................................................ Proceso sin_titulo Dimension vect(50,50) Escribir 'ingrese el numero dela fila y columa matriz cuadrada'; Leer n; Para i<-1 Hasta n Con Paso 1 Hacer Escribir ' '; Escribir 'fila',i; Para j<-1 Hasta n Con Paso 1 Hacer Leer vect(i,j); FinPara FinPara a<-0; Para i<-1 Hasta n Con Paso 1 Hacer Para j<-1 Hasta n Con Paso 1 Hacer Si i<>j Entonces
  • 13.
    Si i,j=0; Entonces a<-a+1; Sino FinSi Sino FinSi FinPara FinPara tot<-(n*n)-n; Sia=tot Entonces Escribir 'la resultante es una diagonal principal'; Sino Escribir 'la resultante no es una diagonal principal'; FinSi FinProceso