MATRICES
¿Qué son las matrices en lenguaje C?Una matriz en C es una colección de datos del mismo tipo organizada en filas y columnas, es decir, un arreglo bidimensional. Se utilizan para representar tablas de datos, grillas, o estructuras similares a un cuadro con celdas. Se usan 2 for
Características:
-
Cada valor se accede por dos índices: uno para la fila y otro para la columna.
-
Todos los elementos son del mismo tipo de dato.
-
El tamaño se debe definir antes de usarla (matriz estática) o con memoria dinámica avanzada.
EJEMPLOS:1.⭐
#include <stdio.h>int MAT[3][2];int i,j,n,m;
int main(){ printf("PROGRAMA MATRICES\n"); n=3; // filas m=2; // columnas for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("Ingrese valor de matriz: "); scanf("%d",&MAT[i][j]); } }
for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",MAT[i][j]); } printf("\n"); } return 0;}2.⭐
#include <stdio.h>int MAT[20][20];int i,j,n,m;
int main(){ printf("PROGRAMA GENERAR MATRICES diagonal principal\n"); n=20; // filas m=20; // columnas // GENERAR MATRIZ for(i=0;i<n;i++) { for(j=0;j<m;j++) { MAT[i][j]=0; } } for(i=0;i<n;i++) { MAT[i][i]=1; } // imprimir matriz for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",MAT[i][j]); } printf("\n"); } }3.⭐
#include <stdio.h>int MAT[3][2], VEC[6];int i,j,m,n,k,aux;
int main(){ printf("PROGRAMA ORDENAMIENTO DE MATRIZ\n"); n=3; //filas m=2; // columnas for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("ingrese valor:"); scanf("%d",&MAT[i][j]); } } // imprimir matriz for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",MAT[i][j]); } printf("\n"); } k=0; // pasar matriz a vector for(i=0;i<n;i++) { for(j=0;j<m;j++) { VEC[k]= MAT[i][j]; k++; } } // imprimir vector printf("\n0datos iniciales\n"); for(i=0;i< n*m;i++) { printf("%d \n ", VEC[i]); } // ordenar vector k= n*m; for(i=0;i<k-1;i++) { for(j=i+1;j<k;j++) { if(VEC[i]>VEC[j]) { aux= VEC[i]; VEC[i]=VEC[j]; VEC[j]=aux; } } } printf("VECTOR ORDENADO\n"); for(i=0;i< n*m;i++) { printf("%d \n ", VEC[i]); } k=0; // pasar vector a martriz for(i=0;i<n;i++) { for(j=0;j<m;j++) { MAT[i][j]= VEC[k]; k++; } } // imprimir matriz ordenada printf("MATRIZ ORDENADA\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",MAT[i][j]); } printf("\n"); } return 0;}
4.⭐
-
Cada valor se accede por dos índices: uno para la fila y otro para la columna.
-
Todos los elementos son del mismo tipo de dato.
-
El tamaño se debe definir antes de usarla (matriz estática) o con memoria dinámica avanzada.
EJEMPLOS:
1.⭐
#include <stdio.h>
int MAT[3][2];
int i,j,n,m;
int main()
{
printf("PROGRAMA MATRICES\n");
n=3; // filas
m=2; // columnas
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("Ingrese valor de matriz: ");
scanf("%d",&MAT[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",MAT[i][j]);
}
printf("\n");
}
return 0;
}
2.⭐
#include <stdio.h>
int MAT[20][20];
int i,j,n,m;
int main()
{
printf("PROGRAMA GENERAR MATRICES diagonal principal\n");
n=20; // filas
m=20; // columnas // GENERAR MATRIZ
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
MAT[i][j]=0;
}
}
for(i=0;i<n;i++)
{
MAT[i][i]=1;
}
// imprimir matriz
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",MAT[i][j]);
}
printf("\n");
}
}
3.⭐
#include <stdio.h>
int MAT[3][2], VEC[6];
int i,j,m,n,k,aux;
int main()
{
printf("PROGRAMA ORDENAMIENTO DE MATRIZ\n");
n=3; //filas
m=2; // columnas
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("ingrese valor:");
scanf("%d",&MAT[i][j]);
}
}
// imprimir matriz
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",MAT[i][j]);
}
printf("\n");
}
k=0;
// pasar matriz a vector
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
VEC[k]= MAT[i][j];
k++;
}
}
// imprimir vector
printf("\n0datos iniciales\n");
for(i=0;i< n*m;i++)
{
printf("%d \n ", VEC[i]);
}
// ordenar vector
k= n*m;
for(i=0;i<k-1;i++)
{
for(j=i+1;j<k;j++)
{
if(VEC[i]>VEC[j])
{
aux= VEC[i];
VEC[i]=VEC[j];
VEC[j]=aux;
}
}
}
printf("VECTOR ORDENADO\n");
for(i=0;i< n*m;i++)
{
printf("%d \n ", VEC[i]);
}
k=0;
// pasar vector a martriz
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
MAT[i][j]= VEC[k];
k++;
}
}
// imprimir matriz ordenada
printf("MATRIZ ORDENADA\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",MAT[i][j]);
}
printf("\n");
}
return 0;
}
4.⭐
No hay comentarios:
Publicar un comentario