int main() { int nFilas,nColumnas; char nombreFichero[100]; float *matriz=NULL; int retval; printf("Introduzca el número de filas de la matriz a leer: "); scanf(" %d",&nFilas); printf("Introduzca el número de columnas de la matriz a leer: "); scanf(" %d",&nColumnas); printf("Introduzca el nombre del fichero: "); scanf(" %s",nombreFichero); matriz=(float *) malloc(nFilas*nColumnas*sizeof(float)); if (matriz==NULL) { printf("No se pudo reservar memoria para la matriz\n"); system("PAUSE"); return 3; } if (retval=leerMatriz(nombreFichero,nFilas,nColumnas,matriz)) { printf("Hubo un error al leer el fichero\n"); system("PAUSE"); return retval; } imprimirMatriz(nFilas,nColumnas,matriz); system("PAUSE") ; return 0 ; }
int main() { int matrizA[T_R][T_C], matrizB[T_R][T_C], suma[T_R][T_C]; int nRen, nCol; nRen = leerTam("Dame el numero de renglos ", T_R); nCol = leerTam("Dame el numero de columnas ", T_C); leerMatriz(" Matriz A ",matrizA, nRen, nCol); leerMatriz(" Matriz B ",matrizB,nRen, nCol); determinaSuma(matrizA, nRen, nCol,matrizB, suma); escribeSuma(suma, nRen, nCol); system("pause"); }
int main(){ FILE *in; int matriz2[FIL][COL] = {0}; if((in = fopen("matriz.txt","rt")) == NULL){ puts("Error al intentar leer >'matriz.txt'"); return 1; } leerMatriz(in, matriz2); mostrarMatriz(matriz2); fclose(in); return 0; }
int main() { int matriz[T_R][T_C], transpuesta[T_R][T_C]; int nRen, nCol; nRen = leerTam("Dame el numero de renglos ", T_R); nCol = leerTam("Dame el numero de columnas ", T_C); leerMatriz(" Matriz >",matriz, nRen, nCol); mTranspuesta(matriz, nRen, nCol,transpuesta); escribeOriginal(matriz, nRen, nCol); escribeTranspuesta(transpuesta, nRen, nCol); system("pause"); }
int main() { int m_num[T_R][T_C]; int nReng, nCol; nReng = leerTam(" Numero de renglos : ", T_R); nCol = leerTam(" Numero de columnas : ", T_C); leerMatriz(m_num, nReng , nCol); intercambiaElem(m_num, nReng, nCol); escribeOriginal(m_num, nReng, nCol); escribeIntercambio(m_num, nReng, nCol); system("pause"); }
int main() { float m_c[N_M][N_P], m_pMat[N_M], m_pPer[N_P]; int nMat, nPer; float num = (float)58/63; printf("%.3f", num ); nMat = leer("Dame el numero # de materias ", N_M ); nPer = leer("Dame el numero # de periodos ", N_P); leerMatriz(m_c, nMat, nPer); boleta(m_c, nMat, nPer,m_pMat, m_pPer); escribeBoleta(m_pMat, m_pPer, nMat, nPer); system("pause"); }
int main(int argc,char *argv[]){ if (argc!=4){ printf("Has introducido %i parametros.\n",argc); printf("Sintaxis: <nombre programa> <archivo de matriz 1> <archivo de matriz 2> <archivo de salida>\n"); exit(1); } FILE *fEntrada1, *fEntrada2, *fSalida; int** mEntrada1; int** mEntrada2 = NULL; //Dimensiones de las matrices int filasA, columnasA, filasB, columnasB; fEntrada1=fopen(argv[1],"r"); fEntrada2=fopen(argv[2],"r"); fSalida=fopen(argv[3],"w"); if(!fEntrada1 || !fEntrada2 || !fSalida){ printf("Error abriendo ficheros. Compruebe que el fichero de entrada existe\r\n"); exit(1); } //Lee los valores de las dos matrices y cerrar los ficheros correspondientes leerMatriz(&mEntrada1, &filasA, &columnasA, fEntrada1); leerMatriz(&mEntrada2, &filasB, &columnasB, fEntrada2); fclose(fEntrada1); fclose(fEntrada2); if((filasA!=columnasB)||(columnasA!=filasB)){ printf("\n\n*********Matrices incompatibles************\r\n"); printf("Filas de A: %d; Columnas de A: %d;\r\nFilas de B: %d; Columnas de B: %d;\r\n ", filasA, columnasA, filasB, columnasB); fclose(fSalida); exit(1); } int i, j, k, sum=0; int* offset; int** resultado = malloc(filasA*(sizeof(int*)+columnasB*sizeof(int))); offset = (int*) resultado + filasA; for(i=0; i<filasA; i++, offset+=columnasB) resultado[i]=offset; for(i = 0; i < filasA; i++) for(j = 0; j < columnasB; j++){ sum = 0; for(k=0; k < filasB; k++) sum += mEntrada1[i][k]*mEntrada2[k][j]; resultado[i][j] = sum; } printf("Matriz 1: \r\n"); imprimirMatriz(mEntrada1, filasA, columnasA); printf("Matriz 2: \r\n"); imprimirMatriz(mEntrada2, filasB, columnasB); printf("Resultado: \r\n"); imprimirMatriz(resultado, filasA, columnasB); escribirMatriz(resultado, filasA, columnasB, fSalida); fclose(fSalida); free(mEntrada1); free(mEntrada2); free(resultado); return 0; }