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; }
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; }
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; }