Ir para conteúdo
Fórum Script Brasil

Suélio

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Posts postados por Suélio

  1. Boa tarde hermanos. eu já consegui resolver o problema e esqueci de atualizar o post. consegui de duas formas, uma por Buble sort e outra recursiva. o código tinha 4 objetivos por isso vai parecer grande mas é só acompanhar o raciocínio que entende. 1: Gerar uma matriz aleatória não repetida. 2: ordenar essa matriz de 0 a n; 3: Ordenar as linhas da matriz. 4: ordenar as colunas da matriz. vou deixar links com os códigos aqui em baixo. att.

    obs: o arquivo basico.c é de escopos e deve ser colocado na mesma pasta dos outros 2.

    https://drive.google.com/file/d/0B3tA_HGV8LLWMWdhTFcyNXhaQ1E/view?usp=sharing

    https://drive.google.com/open?id=0B3tA_HGV8LLWcDJ4NVBvTExqYnc

    https://drive.google.com/open?id=0B3tA_HGV8LLWTUdSeEoxakVwRWs

  2.  #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string.h>
    #include "basico.c"
    int checa(int **matriz, int n, int m);
    int entradamatrizint(int **matriz,int n,int m);
    int main()
    {
        system("clear");
         srand(time(NULL));
        int **MatrizA;
        int i,n;
    
        printf("entre com a ordem da matriz: ");
        scanf("%d",&n);
        if (n == 0) {printf("\nDimensões nula\nPrograma Finalizado\n");system("pause");return 1;}
         /*Alocação de Memória para Matrizes*/
        if(!(MatrizA = alocacaoint(n,n)))
        {
            printf("\nNão foi possível alocar memória para Matriz A\nFim de Programa\n");
            return 1;
        }
        /*Entrada da Matriz A*/
        entradamatrizint(MatrizA,n,n);
    
        /*Impressão da Matriz A*/
        imprimematrizint(MatrizA,n,n);
        getchar();
        return 0;
    }
    int entradamatrizint(int **matriz,int n,int m)
    {
            int a,i,j;
    
    
            for (i=0;i<n;i++) for(j=0;j<m;j++)
            {
                a=rand()%100+1;
                matriz[j]=a;
                checa(matriz,n,a);}
            return 0;
    }
    
    int checa(int **matriz, int dim, int num ){
        int  i, j, cont=0;
        for(i=0; i<dim; i++)
        for(j=0; j<dim;j++)
        if(num==matriz[j]){
        cont++;
    if(cont>1){
    printf("\no numero %d se repete %d vezes\n\n", num, cont);
    }
        }
    
        return 0;}
    
     
    
    //códico com os escopos:
    
    int **alocacaoint(int n, int m);
    int imprimematrizint(int **matriz,int n,int m);
    int **alocacaoint(int n, int m)
    {
        int **matriz;
        int i;
        matriz = (int **)calloc(n,sizeof(int *));
        if(!matriz)
              return (NULL);
        for(i=0;i<n;i++)
        {
            matriz=(int *)calloc(m,sizeof(int));
            if(!matriz)
    
                return (NULL);
    
        }
        return (matriz);
    }
    int imprimematrizint(int **matriz,int n,int m)
    {
        int i,j;
    
            for (i=0;i<n;i++)
            {
                printf("\n");
                for(j=0;j<m;j++) printf("%d\t",matriz[j]);
                printf("\n");
            }
            return 0;
    
    } 

    Bom, eu consegui fazer até aqui. gero uma atriz aleatória e verifico se ela possui elementos repetidos. mas não consigo fazer mais nada depois disso. sem mais delongas, segue abaixo meus 2 códigos. o principal e um com os escopos.

     

     

     

  3. e aí galera.

    bom tô com um pequeno probleminha. eu tenho que gerar uma matriz aleatória não repetida. eu já consegui gerar a matriz aleatória e também consigo chegar se existem elementos repetidos. mas não consigo fazer mais nada depois disso. sem mais delongas, segue abaixo meus 2 códigos. o principal e um com os escopos.

     

     

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string.h>
    #include "basico.c"
    int checa(int **matriz, int n, int m);
    int entradamatrizint(int **matriz,int n,int m);
    int main()
    {
        system("clear");
         srand(time(NULL));
        int **MatrizA;
        int i,n;

        printf("entre com a ordem da matriz: ");
        scanf("%d",&n);
        if (n == 0) {printf("\nDimensões nula\nPrograma Finalizado\n");system("pause");return 1;}
         /*Alocação de Memória para Matrizes*/
        if(!(MatrizA = alocacaoint(n,n)))
        {
            printf("\nNão foi possível alocar memória para Matriz A\nFim de Programa\n");
            return 1;
        }
        /*Entrada da Matriz A*/
        entradamatrizint(MatrizA,n,n);

        /*Impressão da Matriz A*/
        imprimematrizint(MatrizA,n,n);
        getchar();
        return 0;
    }
    int entradamatrizint(int **matriz,int n,int m)
    {
            int a,i,j;


            for (i=0;i<n;i++) for(j=0;j<m;j++)
            {
                a=rand()%100+1;
                matriz[j]=a;
                checa(matriz,n,a);}
            return 0;
    }

    int checa(int **matriz, int dim, int num ){
        int  i, j, cont=0;
        for(i=0; i<dim; i++)
        for(j=0; j<dim;j++)
        if(num==matriz[j]){
        cont++;
    if(cont>1){
    printf("\no numero %d se repete %d vezes\n\n", num, cont);
    }
        }

        return 0;}

     

    códico com os escopos:

    int **alocacaoint(int n, int m);
    int imprimematrizint(int **matriz,int n,int m);
    int **alocacaoint(int n, int m)
    {
        int **matriz;
        int i;
        matriz = (int **)calloc(n,sizeof(int *));
        if(!matriz)
              return (NULL);
        for(i=0;i<n;i++)
        {
            matriz=(int *)calloc(m,sizeof(int));
            if(!matriz)

                return (NULL);

        }
        return (matriz);
    }
    int imprimematrizint(int **matriz,int n,int m)
    {
        int i,j;

            for (i=0;i<n;i++)
            {
                printf("\n");
                for(j=0;j<m;j++) printf("%d\t",matriz[j]);
                printf("\n");
            }
            return 0;

    }

×
×
  • Criar Novo...