Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int ordem=0, ocupados=0, i;
- int *mat_original=NULL;
- int *mat_invertida=NULL;
- int criaMatriz (int tamanho, int *matriz);
- int adicionaDado (int dado, int *matriz);
- int mostraMatriz (int *matriz);
- int somaPrincipal (int *matriz);
- /*int inverteMatriz (int *matriz, int *invertida);*/
- int limpaMatriz (int *matriz);
- int criaMatriz (int tamanho, int *matriz) {
- matriz = malloc (tamanho*tamanho * sizeof(int));
- if (matriz == NULL) {
- printf ("Impossivel alocar memoria para a matriz. Fechando o programa...");
- getchar ();
- exit (1);
- }
- return 0;
- }
- int adicionaDado (int dado, int *matriz) {
- *(matriz+ocupados) = dado;
- ocupados++;
- return 0;
- }
- int mostraMatriz (int *matriz) {
- for (i=0; i<(ordem*ordem); i++) {
- printf ("%d \t",*(matriz+i));
- if (((i+1) % ordem)==0)
- printf ("\n");
- }
- getchar ();
- return 0;
- }
- int somaPrincipal (int *matriz) {
- int posicao, soma=0;
- for (posicao=0; posicao<(ordem*ordem); posicao+=ordem+1)
- soma += *(matriz+posicao);
- return soma;
- }
- /*int inverteMatriz (int *matriz, int *invertida) {
- invertida = NULL;
- criaMatriz (ordem, &invertida);
- for (i=25; i<=(ordem*ordem); i++)
- adicionaDado (i, &invertida);
- return 0;
- }*/
- int limpaMatriz (int *matriz) {
- int temp;
- for (temp=0; temp<(ordem*ordem); temp++)
- free (matriz+temp);
- return 0;
- }
- int main (void) {
- ordem = 5;
- criaMatriz (ordem, &mat_original);
- for (i=1; i<=(ordem*ordem); i++)
- adicionaDado (i, &mat_original);
- mostraMatriz (&mat_original);
- /*printf ("\n %d \n", somaPrincipal(&mat_original));
- getchar ();*/
- /*inverteMatriz (&mat_original, &mat_invertida);
- mostraMatriz (&mat_invertida);*/
- limpaMatriz (&mat_original);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement