Ir ao conteúdo

Posts recomendados

Postado

O código, como está, está preenchendo com valores aleatórios. Porém, preciso que sejam preenchidos com números aleatórios SEM repetição. O código de gerar números aleatórios sem repetição está comentado no meio do código. Quando tento juntar no código principal, dá segmentation fault. Alguém pode me ajudar?

 

O código, como está, está preenchendo com valores aleatórios. Porém, preciso que sejam preenchidos com números aleatórios SEM repetição. O código de gerar números aleatórios sem repetição está comentado no meio do código. Quando tento juntar no código principal, dá segmentation fault. Alguém pode me ajudar?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int linA = 3;
    int colA = 3;
    int x, y;
    float A[linA][colA];
 //   int p = 0, q, vet[10]; 
 //   int equi;
        
    srand(time(NULL)); 
   

    // Gera matriz A
    printf("\n GERANDO MATRIZ A \n\n");
    for(x = 0;x < linA; x++)
    {
        for(y = 0;y < colA; y++)
        {
           // printf("A[%d][%d] = ", x+1,y+1);
            A[x][y] = rand() % 15;
/*
    // Sorteia valores de 0 a 15 e os armazena em um vetor 
    do{
        vet[p] = rand() % 15;
        equi = 0;

        // Impede que valores repetidos sejam armazenados 
        for(q = 0; q < p; q++)
        {
            if(vet[q] == vet[p])
                equi = 1;
        }

        if(equi == 0)
            p++;
    } while(p < 10);

           A[x][y] = vet[p];
  */      
        }
    }
   
/*    
    printf("== Numeros sorteados (sem repeticao) ==\n\n");

    for(p = 0; p < 10; p++)
    {
        printf(" %i ", vet[p]); 
    }
*/

    // Imprime matriz A
    printf("\n MATRIZ A \n\n");
    for(x = 0; x < linA; x++)
    {
        for(y = 0; y < linA; y++)
        {
            if(y !=(colA - 1))
                printf("|%.2f \n", A[x][y]);
            else
                printf("|%.2f \n", A[x][y]);
        }
    }

    printf("\n\n");


    return 0;
}

 

Postado

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int linA = 3;
    int colA = 3;
    float A[linA][colA];
    
        
    srand(time(NULL)); 
   

    // Gera matriz A
    printf("\n GERANDO MATRIZ A \n\n");
    for(int x = 0;x < linA; x++)
    {
        for (int y = 0;y < colA; y++)
        {
          int rnd;
          int equi;
           
          do{
             equi = 0;
             rnd = rand() % 15;
             for(int i = 0; i <linA; i++) 
               for (int j = 0; j < colA; j++)
                  if (A[i][j] == rnd)
                  {
                    equi = 1;
                    break;
                  }
          } while(equi == 1);
          A[x][y] = rnd;
      
        }
    }
   
    

    // Imprime matriz A
    printf("\n MATRIZ A \n\n");
    for(int x = 0; x < linA; x++)
    {
        for(int y = 0; y < linA; y++)
        {
            printf("|%.2f ", A[x][y]);
        }
        printf("\n");
    }

    printf("\n\n");


    return 0;
}

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!