01 dic
Ejercicios y practicas resueltas de c ( 5 )
Por admin
Articulos encontrados...
- Ejercicios y practicas resueltas de C ( 4 )
- Ejercicios y practicas resueltas de c ( 5 )
- Ejercicios y practicas resueltas de c ( 6 )
- Ejercicios y practicas de programación en c ( 7 )
- Ejercicios y practicas de programación en ( 8 )
- Ejercicios y practicas de programación en c ( 9 )
- Prácticas y ejercicios de programación en c ( 11 )
- Practicas y ejercicios de programación en c ( 10 )
- Ejercicios y Prácticas de Programación en C (13)
- Ejercicios y Prácticas de Programación en C ( 18 )
- Ejercicios y prácticas de programación en C ( 20 )
- Ejercicios y Prácticas de programación en C ( 19 )
- Ejercicios y Prácticas de Programación en C ( 21 )
- Ejercicios y prácticas resueltas de programación en C (22)
- Ejercicios y Prácticas resueltas de programación en C (23)
- Ejercicios y Prácticas resueltas de programación en C (24)
- Ejercicios y Prácticas resueltas de programación en C ( 25 )
- Ejercicios y Prácticas resueltas de programación en lenguaje C ( 26 )
- Ejercicios y Prácticas resueltas de programación en lenguaje C ( 27 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 28 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 29 )
- Ejercicio y Prácticas Resueltas de Programación en C ( 30 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 31 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 32 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 33 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 34 )
- Ejercicios y Prácticas Resueltas de Programación en C ( 35 )
Nueva practica o ejercicio resuelto de programación en el lenguaje c, para que completes tu teleformacion con nuestros cursos online gratuitos.
Enunciado del ejercicio:
Realizar un programa en el lenguaje de programación c, que lea una matriz de un fichero, realiza la traspuesta de dicha matriz y la almacene en un fichero nuevo. Los nombres de los archivos se han de solicitar utilizando la línea de comandos como si de un comando ms-dos o Linux se tratara. Se ha de solicitar tanto el nombre del archivo origen como el nombre del archivo destino.
El ejercicio y practicas resuelta a continuación:
#include <stdio.h>
#include <stdlib.h>
// Predefinición de funciones
int Existe(char *);
// Función principal
int main(int argc,char *argv[])
{
// Comprobación del numero de parámetros recibido
if(argc!=3) {
printf("\n¡Faltan parámetros");
printf("\nFormato: comando fichero_origen fichero_destino");
exit(1);
}
// Comprobación de ficheros
if(Existe(argv[1])==1) {
printf("\nEl fichero de origen no se ha encontrado o no existe...");
exit(1);
}
// Declaración de variables necesarias
FILE *fichero;
int filas;
int columnas;
float **matriz1=NULL;
int contador;
int contador1;
// Abrir archivo en modo lectura
fichero=fopen(argv[1],"rt");
// Leer filas y columnas
fscanf(fichero,"%d %d",&filas,&columnas);
printf("%d %d",filas,columnas);
// Realizar la reserva de memoria para las matrices
matriz1=(float **)malloc(sizeof(float *)*filas);
for(contador=0;contador<filas;contador)
{
matriz1[contador]=(float *)malloc(sizeof(float)*columnas);
}
// Asignar datos de la matriz
for(contador=0;contador<filas;contador++)
{
for(contador1=0;contador1<columnas;contador1++)
{
fscanf(fichero,"%f",&matriz1[contador][contador1]);
}
}
fclose(fichero);
printf("\n");
for(contador=0;contador<filas;contador++)
{
for(contador1=0;contador1<columnas;contador1++)
{
printf("%.2f ",matriz1[contador][contador1]);
}
printf("\n");
}
// visualizar traspuesta
printf("\n%d %d\n",columnas,filas);
for(contador=0;contador<columnas;contador++)
{
for(contador1=0;contador1<filas;contador1++)
{
printf("%.2f ",matriz1[contador1][contador]);
}
printf("\n");
}
fichero=fopen(argv[2],"wt");
if(!fichero)
{
printf("\nERROR No se ha podido crear el archivo destino...");
exit(1);
}
// grabar traspuesta
fprintf(fichero,"%d %d\n",columnas,filas);
for(contador=0;contador<columnas;contador++)
{
for(contador1=0;contador1<filas;contador1++)
{
fprintf(fichero,"%.2f ",matriz1[contador1][contador]);
}
fprintf(fichero,"\n");
}
// cerrar archivo
fclose(fichero);
// liberar memoria
for(contador=0;contador<filas;contador++)
{
free(matriz1[contador]);
}
free(matriz1);
return 0;
}
// Funcion Existe
int Existe(char *nombre_fichero)
{
FILE *fichero;
int resultado=0; // 0 = existe 1 = no existe
fichero=fopen(nombre_fichero,"rt");
if(fichero!=NULL)
{
fclose(fichero);
}
else
{
resultado=1;
}
return resultado;
}
Etiquetas de Technorati: cursos,gratuitos,online,teleformacion,ejercicios,practicas,programacion,sistemas


