示例#1
0
文件: main.c 项目: douglasbolis/ED
int main(int argc, char **argv) {
    
// Verificando quantidade de arquivos na chamada de execução no terminal.
    if (argc != 3) {
        printf("ERROR!\nQuantidade de arquivos diferente do esperado.\n");
    } else {
        Mat *matrizA = NULL;
        Mat *matrizB = NULL;
        Mat *matrizC = NULL;
        
        matrizA = busca_arquivo(matrizA, argv[1]);        
        matrizB = busca_arquivo(matrizB, argv[2]);
	
        matrizC = soma_matriz(matrizA, matrizB);
        
        desaloca_matriz(matrizA);
        desaloca_matriz(matrizB);

	imprime_matriz(matrizC);
        
        desaloca_matriz(matrizC);
    }

    return 0;
}
示例#2
0
int main(int argc, char * argv[]){
     int ** matriz;
     int n, m, i, j, k; 
    if (argc < 2)
    {
        printf("Usage: %s [N] [M] [num1] [num2] ... [num(N*M)]\n", \
                argv[0]);
        return(EXIT_SUCCESS);
    }
   
    n = atoi(argv[1]);
    m = atoi(argv[2]); 
    if (argc != (n*m + 3))
    {
        printf("Usage: %s [N] [M] [num1] [num2] ... [num(N*M)]\n", \
                argv[0]);
        return(EXIT_SUCCESS);
    }

    matriz = (int ** )malloc(sizeof(int *) * n + ((sizeof(int) * m)*n));
    int *data = (int*) (matriz + n);
    printf("Matriz lida: \n");
    for (i=0; i<n; i++){
        matriz[i] = data + i * n;
    }
    k = 0;
    for (i=0; i<m; i++){
        for (j=0; j<n; j++){
            matriz[i][j]= atoi(argv[k+3]);
            k++;
        }
    }
    putchar('\n');
    for (i=0; i<m; i++){
        for (j=0; j<n; j++){
            printf("%d ", matriz[i][j]);
        }
        putchar('\n');
    
    }

    imprime_matriz(&matriz[0][0], n*m, n);
    putchar('\n');
    printf("Soma da matriz: %d \n", soma_matriz(*matriz, n*m));
    putchar('\n');

    printf("Maior da matriz: %d \n", maior_matriz(*matriz, n*m));

    putchar('\n');

    printf("Menor da matriz: %d \n", menor_matriz(*matriz, n*m));

    putchar('\n');
    return 0;
}
int eh_sudoku(int sud[9][9]) {
    int i, j, x, y, mini[3][3];

    if (!latino(9, sud)) return 0;

    for (x = 0; x <= 6; x += 3)
        for (y = 0; y <= 6; y += 3) {
            for (i = 0; i < 3; i++)
                for (j = 0; j < 3; j++)
                    mini[i][j] = sud[i+x][j+y];
            if (soma_matriz(3, mini) != 45) return 0;
        }
    return 1;
}
示例#4
0
int soma_matriz(int * mat, int n){
    if (n < 0)
        return 0;
    return *(mat+n) + soma_matriz(mat, --n);
}