예제 #1
0
int main() {
    int** minha_matriz = cria_matriz(3, 4);

    //    |   0    1     2    3
    // ___|______________________
    // 0  |  12   45    56    5
    // 1  |   0    0    -1   17
    // 2  |   3   10     0    1

    minha_matriz[0][0] = 12;
    minha_matriz[0][1] = 45;
    minha_matriz[0][2] = 56;
    minha_matriz[0][3] = 5;

    minha_matriz[1][2] = -1;
    minha_matriz[1][3] = 17;

    minha_matriz[2][0] = 3;
    minha_matriz[2][1] = 10;
    minha_matriz[2][3] = 1;

    int** matriz_dobro = soma_matrizes(minha_matriz, minha_matriz,
                                       3, 4);

    imprime_matriz(minha_matriz, 3, 4);
    printf("\n");
    imprime_matriz(matriz_dobro, 3, 4);

    printf("\n");
    return 1;
}
int main(void){
	int n;
	printf("Digite o tamanho da matriz: ");
	scanf("%d",&n);
	int **m = cria_matriz(n);
	le_matriz(m,n);
	imprime_matriz(m,n);
	exercicio_a(m,n,3);
	exercicio_b(m,n);
	exercicio_c(m,n,3);
	exercicio_c(m,n,1);
	exercicio_d(m,n);	
	return 0;
}
예제 #3
0
파일: main.c 프로젝트: douglasbolis/ED
Mat* busca_arquivo(Mat *matriz, char nomeArq[]) {
    int dim, lin, col;
    float info;
    
    FILE *arquivo = fopen(nomeArq, "r");

// Verifica se retornou nulo ao abrir o arquivo.
    if (arquivo){
        fscanf(arquivo, "%d\n", &dim);
        matriz = cria_matriz(dim);

        while (!feof(arquivo)) {
            fscanf(arquivo, "%d;%d;%g\n", &lin, &col, &info);
            insere_celula(matriz, lin, col, info);
        }
    }
    fclose(arquivo);
    
    return matriz;
}
예제 #4
0
grafo le_grafo()
{
    char i;
    int linhas, colunas, parada;
    int a, b, grau;
    grafo g;

    linhas = colunas = parada = 0;

    g.matriz = cria_matriz(linhas+1);
    g.arestas = 0;
    g.n_vertices = 0;

    grau = 0;

    while(!parada)
    {
        if(scanf("%c", &i) == 1)
        {
            switch(i) {
                case '0':
                    if(linhas == 0)
                        g.matriz[linhas] = realoca_coluna(g.matriz[linhas], colunas+1);
                    g.matriz[linhas][colunas] = 0;
                    //printf("Adicionou 0 em %d,%d\n", linhas, colunas);
                    colunas++;
                    break;

                case '1':
                    if(linhas == 0)
                        g.matriz[linhas] = realoca_coluna(g.matriz[linhas], colunas+1);
                    g.arestas++;
                    grau++;
                    g.matriz[linhas][colunas] = 1;
                    //printf("Adicionou 1 em %d,%d\n", linhas, colunas);
                    colunas++;
                    break;

                case '\n':
                    //printf("Pulou Linha\n");
                    linhas++;
                    if(linhas == colunas)
                    {
                        g.n_vertices = linhas;
                        g.graus = aloca_vet(g.graus, linhas);
                        g.graus[linhas-1] = grau;
                        parada = 1;
                    }
                    else if(linhas-1 == 0)
                    {
                        //printf("Agora matriz e %dx%d\n", colunas, colunas);
                        g.matriz = realoca_matriz(g.matriz, colunas);
                        g.graus = aloca_vet(g.graus, linhas);
                        g.graus[linhas-1] = grau;
                    }
                    else
                    {
                        g.graus = aloca_vet(g.graus, linhas);
                        g.graus[linhas-1] = grau;
                    }
                    grau = 0;
                    colunas = 0;
                    break;
            }
        }
    }

    g.arestas = g.arestas / 2;
    g.graus = ordena_sel(g.graus, 0, g.n_vertices-1);

    return g;
}