0% found this document useful (0 votes)
10 views9 pages

Matrices

The document contains C code for matrix operations including addition, subtraction, and multiplication of square matrices. It defines matrices, initializes them, and performs operations while printing the results. The code also includes the creation of an identity matrix and demonstrates the use of random numbers for matrix initialization.

Uploaded by

Diana BL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views9 pages

Matrices

The document contains C code for matrix operations including addition, subtraction, and multiplication of square matrices. It defines matrices, initializes them, and performs operations while printing the results. The code also includes the creation of an identity matrix and demonstrates the use of random numbers for matrix initialization.

Uploaded by

Diana BL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MATRICERS for(i=0;i<N;i++)

{
#include <stdio.h>
for(j=0;j<N;j++)
# define N 3
{
int A[N][N],B[N][N],I[N][N],r1[N][N],r2[N][N],r3[N][N],MR[N][N];
for(k=0;k<N;k++)
int main (void)
{
{
r1[i][j] += (A[i][k]*A[k][j]);
int i,j,k;
}
int c1 = 0;
}
int c2 = 1;
}
//M A//
//r2//
printf("Matriz A:\n");
for(i=0;i<N;i++)
for(i=0;i<N;i++)
{
{
for(j=0;j<N;j++)
for(j=0;j<N;j++)
{
{
r2[i][j] += (2*B[i][j]);
A[i][j] += c1++;
}
printf("%d ",A[i][j]);
}
}
//r3//
printf("\n");
for(i=0;i<N;i++)
}
{
//M B//
for(j=0;j<N;j++)
printf("Matriz B:\n");
{
for(i=0;i<N;i++)
for(k=0;k<N;k++)
{
{
for(j=0;j<N;j++)
r3[i][j] += (I[i][k]*A[k][j]);
{
}
B[i][j] = 2*A[i][j];
}
printf("%d ", B[i][j]);
}
}
//MR//
printf("\n");
printf("Matriz MR\n");
}
for(i=0;i<N;i++)
//M I//
{
printf("Matriz I:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
{
{
{
for(j=0;j<N;j++)
MR[i][j] += r1[i][j]-r2[i][j]-r3[i][j];
{
}
if (i==j)
}
{
}
I[i][j]=1;
for(i=0;i<N;i++)
}
{
else
for(j=0;j<N;j++)
{
{
I[i][j]=0;
printf("%d ",MR[i][j]);
}
}
}
printf("\n");
}
}
for(i=0;i<N;i++)
//sum
{
int sumd = 0;
for(j=0;j<N;j++)
for(i=0;i<N;i++)
{
{
printf("%d ",I[i][j]);
for(j=0;j<N;j++)
}
{
printf("\n");
if (i==j)
}
{
//r1//
sumd += MR[i][j];
} for(j=0;j<N;j++)
} {
} if (i==j)
printf ("suma diagona: %d",sumd); {
return 0; I[i][j]=1;
} }
else
{
I[i][j]=0;
}
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%d ",I[i][j]);
}
printf("\n");
}
printf("Matriz A*A:\n");
#include <stdio.h> //M A*A//
# define N 3 for(i=0;i<N;i++)
int A[N][N],B[N][N],I[N][N],r1[N][N],r2[N][N],r3[N][N],MR[N][N]; {
int main (void) for(j=0;j<N;j++)
{ {
int i,j,k; for(k=0;k<N;k++)
int c1 = 0; {
int c2 = 1; r1[i][j] += (A[i][k]*A[k][j]);
//M A// }
printf("Matriz A:\n"); }
for(i=0;i<N;i++) }
{ for(i=0;i<N;i++)
for(j=0;j<N;j++) {
{ for(j=0;j<N;j++)
if (i==j) {
{ printf("%d ",r1[i][j]);
A[i][j]=0; }
} printf("\n");
else }
{ //r2//
A[i][j]=1; printf("Matriz resultante\n");
} for(i=0;i<N;i++)
} {
} for(j=0;j<N;j++)
for(i=0;i<N;i++) {
{ r2[i][j] += (r1[i][j]-(2*I[i][j])-A[i][j]);
for(j=0;j<N;j++) }
{ }
printf("%d ",A[i][j]); for(i=0;i<N;i++)
} {
printf("\n"); for(j=0;j<N;j++)
} {
//M I// printf("%d ",r2[i][j]);
printf("Matriz I:\n"); }
for(i=0;i<N;i++) printf("\n");
{ }
return 0; else
} {
I[i][j]=0;
}
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%d ",I[i][j]);
}
printf("\n");
}
#include <stdio.h> //A+B//
# define N 3 printf("Matriz A+B\n");
int for(i=0;i<N;i++)
A[N][N],B[N][N],I[N][N],r1[N][N],r2[N][N],r3[N][N],r4[N][N],r5[N][ {
N],r6[N][N],d[N][N],MR[N][ for(j=0;j<N;j++)
N]; {
int main (void) {
{ r1[i][j] += A[i][j]+B[i][j];
int i,j,k; }
int c1 = 1; }
int c2 = 1; }
//M A// for(i=0;i<N;i++)
printf("Matriz A:\n"); {
for(i=0;i<N;i++) for(j=0;j<N;j++)
{ {
for(j=0;j<N;j++) printf("%d ",r1[i][j]);
{ }
A[i][j] += c1++; printf("\n");
printf("%d ",A[i][j]); }
} //A-B//
printf("\n"); printf("Matriz A-B\n");
} for(i=0;i<N;i++)
//M B// {
printf("Matriz B:\n"); for(j=0;j<N;j++)
for(i=0;i<N;i++) {
{ {
for(j=0;j<N;j++) r2[i][j] += A[i][j]-B[i][j];
{ }
B[i][j] = 2*c2++; }
printf("%d ", B[i][j]); }
} for(i=0;i<N;i++)
printf("\n"); {
} for(j=0;j<N;j++)
//M I// {
printf("Matriz I:\n"); printf("%d ",r2[i][j]);
for(i=0;i<N;i++) }
{ printf("\n");
for(j=0;j<N;j++) }
{ //A*A//
if (i==j) printf("Matriz A*A\n");
{ for(i=0;i<N;i++)
I[i][j]=1; {
} for(j=0;j<N;j++)
{ for(i=0;i<N;i++)
for(k=0;k<N;k++) {
{ for(j=0;j<N;j++)
r3[i][j] += (A[i][k]*A[k][j]); {
} for(k=0;k<N;k++)
} {
} r6[i][j] += (B[i][k]*A[k][j]);
for(i=0;i<N;i++) }
{ }
for(j=0;j<N;j++) }
{ for(i=0;i<N;i++)
printf("%d ",r3[i][j]); {
} for(j=0;j<N;j++)
printf("\n"); {
} printf("%d ",r6[i][j]);
//A*B// }
printf("Matriz A*B\n"); printf("\n");
for(i=0;i<N;i++) }
{ //demostracion =0//
for(j=0;j<N;j++) printf("Matriz demostracion =0\n");
{ for(i=0;i<N;i++)
for(k=0;k<N;k++) {
{ for(j=0;j<N;j++)
r4[i][j] += (B[i][k]*A[k][j]); {
} {
} d[i][j] += r3[i][j]-A[i][j]-(2*I[i][j]);
} }
for(i=0;i<N;i++) }
{ }
for(j=0;j<N;j++) for(i=0;i<N;i++)
{ {
printf("%d ",r4[i][j]); for(j=0;j<N;j++)
} {
printf("\n"); printf("%d ",d[i][j]);
} }
//B*B// printf("\n");
printf("Matriz B*B\n"); }
for(i=0;i<N;i++) //MR//
{ printf("la ecuancion no da 0\n");
for(j=0;j<N;j++) printf("Matriz MR\n");
{ for(i=0;i<N;i++)
for(k=0;k<N;k++) {
{ for(j=0;j<N;j++)
r5[i][j] += (B[i][k]*B[k][j]); {
} {
} MR[i][j] += r3[i][j]+r5[i][j]-r4[i][j]-r6[i][j]-I[i][j];
} }
for(i=0;i<N;i++) }
{ }
for(j=0;j<N;j++) for(i=0;i<N;i++)
{ {
printf("%d ",r5[i][j]); for(j=0;j<N;j++)
} {
printf("\n"); printf("%d ",MR[i][j]);
} }
//B*A// printf("\n");
printf("Matriz B*A\n"); }
//sum int i,j;
int sumd = 0; for(i=0;i<N;i++)
for(i=0;i<N;i++) {
{ }
for(j=0;j<N;j++) for(j=0;j<N;j++)
{ {
if (i==j) }
{ Matriz[i][j] = C++;
sumd += MR[i][j]; printf("%d ", Matriz[i][j]);
} printf("\n");
} return 0;
} }
printf ("suma diagona: %d",sumd);
return 0;
}
#include <stdio.h>
#define N 10
int Matriz[N][N]; // Declaración de una Matriz Cuadrada NxN,
N=10
int main(void)
{
printf("Matriz M:\n");
int C = 0;
int i, j;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
Matriz[i][j] = 2 * C++;
printf("%d ", Matriz[i][j]);
}
printf("\n");
}
return 0;
}

#include <stdio.h>
#define N 3
int Matriz1[N][N]; // Declaración de una Matriz Cuadrada NxN,
N=3
int Matriz2[N][N]; // Declaración de una Matriz Cuadrada NxN,
N=3
#include <stdio.h> int Matriz3[N][N]; // Declaración de una Matriz Cuadrada NxN,
#define N 3 N=3
int Matriz[N][N]; // Declaración de una Matriz Cuadrada NxN, int main(void)
N=3... {
int main(void) printf("...Programa que suma 2 Matrices cuadradas NxN...:\n");
{ int C = 0;
printf("Matriz M:\n"); int i, j;
int C = 0; // Inicializar Matriz1, Matriz2 y Sumar Matriz1 + Matriz2
for(i = 0; i < N; i++) // Programa que crea una Matriz cuadrada de NxN con
{ Números Aleatorios
for(j = 0; j < N; j++) printf("...Programa que crea una Matriz cuadrada de NxN con
{ Números Aleatorios...\n");
Matriz1[i][j] = C++; srand(time(NULL)); // Inicializa la semilla para generar números
Matriz2[i][j] = 2 * Matriz1[i][j]; aleatorios
Matriz3[i][j] = Matriz1[i][j] + Matriz2[i][j]; int i, j;
} // Inicializar Matriz con Números Aleatorios
} for(i = 0; i < N; i++)
printf("Matriz 1:\n"); {
for(i = 0; i < N; i++) for(j = 0; j < N; j++)
{ {
for(j = 0; j < N; j++) Matriz[i][j] = rand() % 2; // Números aleatorios entre 0 y 1
{ }
printf("%d ", Matriz1[i][j]); }
} printf("Matriz Aleatoria:\n");
printf("\n"); for(i = 0; i < N; i++)
} {
printf("Matriz 2:\n"); for(j = 0; j < N; j++)
for(i = 0; i < N; i++) {
{ printf("%d ", Matriz[i][j]);
for(j = 0; j < N; j++) }
{ printf("\n");
printf("%d ", Matriz2[i][j]); }
} return 0;
printf("\n"); }
}
printf("Matriz 3:\n");
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
printf("%d ", Matriz3[i][j]);
}
printf("\n"); #include <stdio.h>
} #define N 4
return 0; int Matriz_Identidad[N][N];
} int main()
{
printf("Matriz Identidad:\n");
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(i==j)
{
#include <stdio.h> Matriz_Identidad[i][j] = 1;
#include <stdlib.h> }
#include <time.h> else
#define N 10 {
int Matriz[N][N]; // Declaración de una Matriz Cuadrada NxN, Matriz_Identidad[i][j] = 0;
N=10 }
int main(void) }
{ }
for(i=0;i<N;i++)
{
for(j=0;j<N;j++) #include <stdio.h>
{ #define N 3
printf("%d ", Matriz_Identidad[i][j]); int MatrizInicial[N][N];
} int MatrizIdentidad[N][N];
printf("\n"); int MatrizResultado[N][N];
} int main(void)
return 0; {
} printf("Matriz Inicial:\n");
int sumaDiagonal = 0;
int c = 1;
int i, j;
// Inicialización de la matriz inicial con múltiplos de 2
for(i = 0; i < N; i++)
#include <stdio.h> {
#define N 3 for(j = 0; j < N; j++)
// Función para imprimir una matriz (evita código repetido) {
void print_matrix(const char* name, int matrix[N][N]) MatrizInicial[i][j] = 2 * c++;
{ printf("%d ", MatrizInicial[i][j]);
printf("%s:\n", name); }
for(int i = 0; i < N; i++) printf("\n");
{ }
for(int j = 0; j < N; j++) // Generación de la matriz identidad
{ printf("Matriz Identidad:\n");
printf("%3d ", matrix[i][j]); // %3d para mejor alineación for(i = 0; i < N; i++)
} {
printf("\n"); for(j = 0; j < N; j++)
} {
} if(i == j)
int main(void) {
{ MatrizIdentidad[i][j] = 1;
// Variables locales en lugar de globales }
int matriz1[N][N]; else
int matriz2[N][N]; {
int matriz3[N][N]; MatrizIdentidad[i][j] = 0;
// Inicialización más eficiente y compacta }
int counter = 0; }
for(int i = 0; i < N; i++) }
{ // Impresión de la matriz identidad
for(int j = 0; j < N; j++) for(i = 0; i < N; i++)
{ {
matriz1[i][j] = counter; for(j = 0; j < N; j++)
matriz2[i][j] = 2 * counter; {
matriz3[i][j] = matriz1[i][j] + matriz2[i][j]; printf("%d ", MatrizIdentidad[i][j]);
counter++; }
} printf("\n");
} }
// Imprimir todas las matrices usando la función // Suma de la matriz inicial y la matriz identidad -> Matriz
print_matrix("Matriz1", matriz1); Resultado
print_matrix("Matriz2", matriz2); printf("Matriz Resultado:\n");
print_matrix("Matriz3", matriz3); for(i = 0; i < N; i++)
return 0; {
} for(j = 0; j < N; j++)
{
MatrizResultado[i][j] = MatrizInicial[i][j] +
MatrizIdentidad[i][j];
printf("%d ", MatrizResultado[i][j]);
}
printf("\n"); }
} }
// Suma de la diagonal principal de la Matriz Resultado //Impresión de la Matriz C...
for(i = 0; i < N; i++) for(i=0;i<N;i++)
{ {
sumaDiagonal += MatrizResultado[i][i]; for(j=0;j<N;j++)
} {
printf("Suma diagonal = %d\n", sumaDiagonal); for(j=0;j<N;j++)
return 0; {
} printf("%d ", C[i][j]);
}
}
printf("\n");
}
//Inciso b) R = A*A - A*I...
printf("Matriz Identidad:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if (i==j)
#include <stdio.h> {
#define N 3 I[i][j] = 1;
int A[N][N], B[N][N], C[N][N], I[N][N], R[N][N], TEMP[N][N]; }
int main(void) else
{ {
int Counter = 1; I[i][j] = 0;
int i,j,k; }
printf("Matriz A:\n"); }
for(i=0;i<N;i++) }
{ //Impreseión Matriz Identidad I...
for(j=0;j<N;j++) for(i=0;i<N;i++)
{ {
A[i][j] = Counter++; for(j=0;j<N;j++)
printf("%d ", A[i][j]); {
} printf("%d ", I[i][j]);
printf("\n"); }
} printf("\n");
printf("Matriz B:\n"); }
for(i=0;i<N;i++) printf("Matriz TEMP:\n");
{ for(i=0;i<N;i++)
for(j=0;j<N;j++) {
{ for(j=0;j<N;j++)
B[i][j] = A[i][j]; {
printf("%d ", A[i][j]); for(k=0;k<N;k++)
} {
printf("\n"); TEMP[i][j] += A[i][k]*I[k][j];
} }
printf("Matriz C:\n"); }
for(i=0;i<N;i++) }
{ //Impresión Matriz TEMP...
for(j=0;j<N;j++) for(i=0;i<N;i++)
{ {
for(k=0;k<N;k++) for(j=0;j<N;j++)
{ {
C[i][j] += A[i][k]*B[k][j]; printf("%d ", TEMP[i][j]);
} }
printf("\n");
}
printf("Matriz R:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
R[i][j] = C[i][j] - TEMP[i][j];
printf("%d ", R[i][j]);
}
printf("\n");
}
return 0;
}

You might also like