1. 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);
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);
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()
{
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
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.......................................
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";
10. 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
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<-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