Ir para conteúdo
Fórum Script Brasil

Suélio

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Suélio

Suélio's Achievements

0

Reputação

  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; }
  4. Galera, tenho que fazer uma matriz quadrada que gere números aleatórios sem repetição em C. alguém me ajuda?
×
×
  • Criar Novo...