Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CICLO 2022-1
1
INTRODUCCIÓN A LA COMPUTACIÓN
SEMINARIO N° 8
CICLO 2022-1
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
2
Laboratorio N° 8
Objetivo
X 11 X1 2 ... X 1 n
X 21 X22 ... X 2 n
X =
... ... ... ...
X n1 Xn2 ... X n n
n*n
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
3
Arreglo Bidimensional
Declaración:
tipo matriz[N°filas][N°columnas];
Ejemplo:
int x[20][30];
col 0 col 1 col 2 … col 29
fila 0 → X0 0 X0 1 X0 2 … X0 29
fila 1 → X1 0 X1 1 X1 2 … X1 29 20
… … … … … … filas
fila 19 →
X19 0 X19 1 X19 2 … X19 29
30 columnas
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
4
scanf("formato",&matriz[#fila][#col]);
fscanf(file,"formato",&matriz[#fila][#col]);
Ejemplo:
scanf("%d", &x[i][j]); Leer
xi j
fscanf(file,"%d", &x[i][j]);
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
5
printf("formato",matriz[#fila][#col]);
fprintf(file,"formato",matriz[#fila][#col]);
Ejemplo:
printf("%d", x[i][j]); Escribir
xi j
fprintf(file,"%d", x[i][j]);
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
6
Ejercicio1
Dada la matriz A de n*n, se pide convertirla a
triangular superior mediante operaciones elementales
por filas y luego calcular su determinante.
Entradas Salidas
n Ai j (triangular superior)
Ai j i, j 1..n det
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
7
Ejercicio2
Un archivo contiene una matriz cuadrada, se pide
ordenar de menor a mayor los elementos de su
diagonal principal. El orden de la matriz no es dato.
X 11 X1 2 ... X 1 n
X 21 X22 ... X 2 n
X =
... ... ... ...
X ?1 X?2 ... X ? ?
?*?
Entradas Salida
Xi j i, j 1..? Xi j (diagonal ordenada)
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
12
#include<stdio.h>
#include<math.h>
int main(){
int x[50][50],z[100],i,n,j,t; FILE *a;
a=fopen("MATRIZ.TXT","r");
for(i=1;!feof(a);i++) fscanf(a,"%d ",&z[i]);
fclose(a); n=sqrt(i-1);
for(i=1;i<=n*n;i++)
x[(i-1)/n+1][i-(i-1)/n*n]=z[i]; //Division Entera
//Burbuja
for(i=1;i<n;i++)
for(j=1;j<=n-i;j++)
if(x[j][j]>x[j+1][j+1]){
t=x[j][j]; x[j][j]=x[j+1][j+1]; x[j+1][j+1]=t;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++) printf("%4d",x[i][j]);
printf("\n");
}
}
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
13
MATRIZ.TXT EJECUCION
9 3 8 1
8 6 4 5
2 8 5 4
4 2 7 7
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
14
Ejercicio Propuesto 1
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
15
Ejercicio Propuesto 2
INTRODUCCIÓN A LA COMPUTACIÓN - BIC01
CICLO 2022-1
16
Ejercicio Propuesto 3
Dada la solución del juego “Sudoku” que está almacenado
en un archivo de texto SUDOKU.SOL, se desea escribir un
programa que verifique si la solución es correcta
mostrando por pantalla los siguientes mensajes: “Sudoku
Correcto” o “Sudoku Incorrecto”.
Ejemplo:
Se muestra una solución
correcta del juego “Sudoku”,
los números están
almacenados en el archivo
indicado separados por
espacios en 9 filas x 9
columnas.