ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Últimos assuntos
» Trabalho de "Conversão de Bases”
Brincado com as matrizes em C EmptySáb maio 19, 2012 4:38 pm por backers

» O meu Código.
Brincado com as matrizes em C EmptyQua maio 16, 2012 3:07 pm por Admin

» Livro de matematica..
Brincado com as matrizes em C EmptyQua maio 02, 2012 11:57 am por guiltm

» Brincado com as matrizes em C
Brincado com as matrizes em C EmptyQua Abr 25, 2012 3:26 pm por Narciso CS

» Como encontrar um numero Primo na matriz?
Brincado com as matrizes em C EmptyTer Abr 24, 2012 12:14 pm por Admin

» EXERCÍCIOS – MÓDULO 02
Brincado com as matrizes em C EmptySáb Abr 14, 2012 11:41 am por Anderson G S

» Soma de Pares, Soma de Impares, Maior, Menor, Soma e Media
Brincado com as matrizes em C EmptyQua Abr 11, 2012 12:45 pm por Convidado

» EXERCÍCIOS – MÓDULO 01
Brincado com as matrizes em C EmptyQua Abr 11, 2012 1:25 am por Anderson G S

» Como perguntar se ele deseja continuar jogando?
Brincado com as matrizes em C EmptyQua Abr 04, 2012 5:39 pm por Anderson G S

Os membros mais ativos da semana
Nenhum usuário


Brincado com as matrizes em C

Ir para baixo

Brincado com as matrizes em C Empty Brincado com as matrizes em C

Mensagem  Narciso CS Qua Abr 25, 2012 3:26 pm

Segue abaixo meu trabalho de "Brincando com as Matrizes" em C.

Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int i, j, num;                                                //Declaração de variaveis
int matriz[99][99], matriz1[99][99], a, b, c;
int maior = 0, menor = 0, numrepete, primos;
float media = 0;

void ParouImpar(){                                  //Procedimento que verifica quem é par e quem é ímpar

    int c1 = 0, c2 = 0;
   
    for(i = 0; i<num; i++)
      for(j = 0; j<num; j++){
        if (matriz[i][j]%2 == 0)                    // Laços que percorrem a matriz e determinam que é par e quem é ímpar
          c1++;
        else
          c2++;
      }
    if(c1 == 1)                                        // Exinindo a quantidade de numero pares e ímpares
      printf("\nTemos um numero par\n");
    else
      printf("\nTemos %d numeros pares\n", c1);
    if(c2 == 1)
      printf("Temos um numero impar\n");
    else
      printf("Temos %d numeros impares\n", c2);
}   
//------------------------------------------------------------------------------------------------------------- 
int MaiorNumero(){                              //Função que verifica quem é o maior numero da matriz
   
    maior = matriz[0][0];
    for(i = 0; i<num; i++)
      for(j = 0; j<num; j++){                        // Laços que determinam o maior numero
          if (maior < matriz[i][j])
            maior = matriz[i][j];
      }
      return maior;
}
//-------------------------------------------------------------------------------------------------------------       
int MenorNumero(){                            //Função que verifica quem é o menor numero da matriz
   
    menor = matriz[0][0];
    for(i = 0; i<num; i++)
      for(j = 0; j<num; j++){                // Laços que determinam o menor numero
          if (menor > matriz[i][j])
            menor = matriz[i][j];
      }
      return menor;
    }
//------------------------------------------------------------------------------------------------------------- 
int NumeroRepete(){                            //Função que verifica quem mais se repete
   
    for(i = 0; i<99; i++)                              // Inicializando a matriz1
      for(j = 0; j<99; j++)
        matriz1[i][j] = 0;
   
    for(i = 0; i<num; i++)
      for(j = 0; j<num; j++)                          //Laços que percorrem a matriz procurando elementos iguais
        for(int k = 0; k<num; k++)
          for(int l = 0; l<num; l++){
                  if(matriz[i][j] == matriz[k][l])
                  matriz1[i][j]++;
          }
   
      a = matriz1[0][0];
      numrepete = 0;
   
      for(i = 0; i<num; i++)
      for(j = 0; j<num; j++){                                //Laços para determninar o elemento que mais se repete e sua posição
        if (a < matriz1[i][j]){
            a = matriz1[i][j];
            b = i;
            c = j;
        }
        else if(matriz1[i][j] == 1)
          numrepete++;
      }
     
      return numrepete; 

//-------------------------------------------------------------------------------------------------------------   
float Media(){                                        //Função que calcula a media dos numeros
    float total = 0;
   
    for(i = 0; i<num; i++)
      for(j = 0; j<num; j++){
          total = total + matriz[i][j];            // A soma dos numeros é acumulada na variavel total
      }
     
    media = total/(num*num);
    return media;
}
//-------------------------------------------------------------------------------------------------------------     
int NumerosPrimos(){                              //Função que calcula quantos primos há na matriz
                                   
    int aux, div;
   
    primos = 0;
   
    for(i = 0; i<num; i++){
      for(j = 0; j<num; j++){
          aux = 2;
          div = 0;
          while(aux<=(matriz[i][j]/2)){
              if((matriz[i][j]%aux == 0)){
                div = div +1;
              }
              aux = aux + 1;
          }
          if(div == 0)
              primos++;     
      }
    }
    return primos;

//-------------------------------------------------------------------------------------------------------------
int main() {                                                // Função Principal
   
    int opcao;
   
    srand(time(NULL));
   
    printf("\n-----------------------------------------------\n");
    printf("Bem-vindo ao programa estatistico de matrizes\n");
    printf("-----------------------------------------------\n");
    printf("\nDigite a dimensao da matriz desejada:\n");                // Lendo o tamanho da matriz
    scanf("%d", &num);
    while(num<0){
      printf("Numero invalido. Digite novamente: \n");                  // Validando a entrada
      scanf("%d", &num);
    }
   
    for(i = 0; i<99; i++)                                              // Inicializando a matriz
      for(j = 0; j<99; j++)
        matriz[i][j] = 0;
       
    for(i = 0; i<num; i++)                                        // Preenchendo a matriz com numeros aleatorios
      for(j = 0; j<num; j++)
        matriz[i][j] = rand()%99 + 1;
       
    opcao = 1;
   
    while(opcao != 0){
     
    printf("\nA matriz gerada e :\n");         
       
    for(i = 0; i<num; i++){                                            //Exibindo a matriz gerada
      printf("\n");
      for(j = 0; j<num; j++)
        printf(" %2.0d", matriz[i][j]); 
    }       
     
      printf("\n\n-------Menu-------\n");                                // Menu com as opções do programa
      printf("\n1- Par ou impar\n");
      printf("2- Maior numero\n");
      printf("3- Menor numero\n");
      printf("4- Numero que mais se repete\n");
      printf("5- Media\n");
      printf("6- Numeros primos\n");
      printf("0- Sair\n");
      printf("\nOpcao: ");
      scanf("%d", &opcao);
   
  A: switch(opcao){
                  case 1:                                            //Procedimento para calcular o numero de pares e ímpares
                      ParouImpar();
                      break;
                  case 2:
                      MaiorNumero();                        // Chamando função que calcula o maior numero
                      printf("\nO maior numero e %d\n",maior);
                      break;
                  case 3:
                      MenorNumero();                        // Chamando função que calcula o menor numero
                      printf("\nO menor numero e %d\n",menor);
                      break;
                  case 4:
                      NumeroRepete();                      // Chamando função que calcula o numero que mais se repete
                      if(numrepete == num*num)                // Condição para o caso de não haver elemento que mais se repita
                        printf("\nNao ha elemento que mais se repete\n");
                      else                                  // Condição para o caso de haver elemento que mais se repita
                        printf("\nO elemento %d se repetiu %d vezes\n", matriz[b][c], matriz1[b][c]);
                      break;
                  case 5:
                      Media();                              // Chamando função que calcula a media dos numeros
                      printf("\nA media e %.3f\n", media);
                      break;
                  case 6:
                      NumerosPrimos();                      // Chamando função que calcula o numero de primos na matriz
                      printf("\nO numero de primos e %d\n", primos);
                      break;
                  case 0:                                    // Digito de saida do programa
                      return 0;
                  default:
                      printf("Numero invalido. Digite novamente\n");    // Validando a entrada do usuario
                      scanf("%d", &opcao);
                      goto A;
                      break;
                  }                 
    } 
    return 0;
}

Narciso CS

Mensagens : 1
Data de inscrição : 25/04/2012

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos