Пример #1
0
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");
}
Пример #3
0
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");
}
Пример #7
0
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;
}