[ Foro de C ]
Ejercicio3
Un archivo contiene una matriz por filas y columnas.
Usando un arreglo lineal leer la matriz y escribir la
transpuesta en otro archivo. El orden de la matriz no
es dato. Por ejemplo:
Matriz.txt Matrizt.txt
PROGRAMACION DIGITAL - LABORATORIOS 124
9 3 8 1
8 6 4 0
5 2 3 4
?
9 8 5
3 6 2
8 4 3
1 0 4
yo hice la parte de hallar la trnspuesta de la matriz, ahora no se como pasarlo a un archivo tipo texto
(Fuente: en el siguiente mensaje)
y tambien me podrian decir si mi procedimiento es muy largo o es necesario cada parte
disculpen, esa codificacion es del anterior problema, este es
#include<stdio.h>
#include<conio.h>
int main()
{
int i,j,m,n,k,l,a,b;
int x[100][100];
int y[100][100];
FILE*h;
h=fopen("matriz.txt","r");
for(a=1; !feof(h); a++){
for(b=1; !feof(h); b++)
fscanf(h,"%d",&x[a][b]);
}
fclose(h);
printf("ingresar numero de filas\n");
scanf("%d",&m);
printf("ingresar numero de columnas\n");
scanf("%d",&n);
for(i=1; i<=m;i++){
for(j=1; j<=n;j++){
printf("ingresar x[%d][%d]: ",i,j);
scanf("%d",&x[i][j]);
}
}
printf("mostrando la matriz\n");
for(i=1; i<=m;i++){
printf("\n");
for(j=1; j<=n;j++){
printf("%d ",x[i][j]);
}
}
printf("\n\nla transpuesta de la matriz es \n");
for(i=1; i<=m;i++){
for(j=1; j<=n;j++){
y[j][i]=x[i][j];
}
}
for(k=1; k<=n;k++){
printf("\n");
for(l=1; l<=m;l++){
printf("%d ", y[k][l]);
}
}
getch();
}
Está bien. Podrías escribir a la vez que hallas la traspuesta, y no necesitas tantos contadores distintos (te basta con i,j o fila,columna), pero son sólo pequeñas mejoras.
Para escribir en fichero de texto mira aquí:
http://www.aprendeaprogramar.com/2014/mod/resource/view.php?id=322
gracias, pero donde esta la version completa del curso ?
ya lo encontre, gracias, preguntare si tengo alguna duda
no comprendo bien la teoria de su pdf señor Cabanes, yo estoy acostumbrado a otros simbolos, librerias... podria resolverlo por favor
¿Resolverlo? Eres tú quien está aprendiendo, así que eres tú quien tendrá que buscar materiales adicionales o ayuda alternativa cuando tenga dudas. Mis apuntes están adaptados a las necesidades de mis alumnos. Puedo ayudarte con tus dudas, pero no voy a cambiar mis apuntes porque tus profesores usen bibliotecas poco estándar, como conio.h, o entornos anticuados, como Dev-C++, o usen cadenas de C cuando te están enseñando C++.
Yo lo que puedo ofrecerte son mis apuntes y tratar de responder a tus dudas. Los apuntes de C ya sabes dónde están, y los de C++ también son fáciles de encontrar:
http://www.aprendeaprogramar.com/course/view.php?id=27
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)