int main (){ int matrizA[MAX_LIN][MAX_COL]; int vetA[MAX_COL]; int nL,nC; printf ("Informe o numero linhas da matriz: "); scanf ("%d",&nL); printf ("Informe o numero colunas da matriz: "); scanf ("%d",&nC); alimentar(matrizA,nL,nC); printf("****************************\n"); printf("******** MATRIZ A **********\n"); printf("****************************\n"); exibir(matrizA,nL,nC); inicializarVetor(vetA,nL); somaLinha(matrizA,nL,nC,vetA); imprimirVetor(vetA,nL); getch(); }
int main () { int numLinhas, numColunas; printf ("Escolha o tamanho da matriz esparsa (MxN) > "); scanf ("%d %d", &numLinhas, &numColunas); if (numLinhas <= 0 || numColunas <= 0) { fprintf (stderr, "Matriz não pode ter dimensão menor que 1\n"); return -1; } matrizEsparsa *mat = criaMatrizEsparsa (numLinhas, numColunas); int opcao, y, x, ret; double valor; double det; do { menu (); scanf ("%d", &opcao); switch (opcao) { case 1: printf ("Escolha a posição da matriz a ser consultada (MxN) > "); scanf ("%d %d", &y, &x); ret = consultaValor (mat, y, x); if (ret != ERRO) { printf ("Matriz[%d][%d] = %d\n", y, x, ret); } break; case 2: printf ("Escolha o valor a ser inserido > "); scanf ("%lf", &valor); printf ("Escolha em que posição da matriz o valor será inserido (MxN) > "); scanf ("%d %d", &y, &x); if (insereValor (mat, y, x, valor) != ERRO) { printf ("Valor %6.3lf inserido em %dx%d\n", valor, y, x); } break; case 3: printf ("Escolha a linha a ser somada > "); scanf ("%d", &y); ret = somaLinha (mat, y); if (ret != ERRO) { printf ("Soma da linha %d = %d\n", y, ret); } break; case 4: printf ("Escolha a coluna a ser somada > "); scanf ("%d", &x); ret = somaColuna (mat, x); if (ret != ERRO) { printf ("Soma da coluna %d = %d\n", x, ret); } break; case 5: printMatriz (mat); break; case 6: det = determinante (mat); if (det != ERRO) { printf ("Determinante da matriz = %f", det); } break; case 7: gaussSeidel (mat); break; } puts (""); } while (opcao != 0); apagaMatrizEsparsa (mat); return 0; }