Duvida nas partes em negrito do meu problema gostaria de saber se o que fiz esta certo!

3 respostas
L

gente to com um problemao me ajudem !!!
nao tenho mais ideias olhem meu codigo e me digam o que fazer os problemas sao o seguinte so posso usar programaçao estruturada no maximo funçoes que eu msm criei ;

1 - Gerar aleatoriamente um numero entre 1 e 3;

2 - Converter o numero gerado em gameta 1:AA, 2:Aa, 3:aa;

3 - Preencher uma matriz 1000x1000 com esses dados;

4 - Sortear pares de posicoes de linha e coluna para cruzamentos;

5 - Verificar se o cruzamento é valido: linha par = gameta masculino, linha impar = gameta feminino;

6 - Se o cruzamento for possivel calcular o resultado, se necessário sortear entre os resultados, e colocar em outro vetor;

7 - Repetir 100 cruzamentos;

8 - Verificar a frequencia dos genótipos gerados em porcentagem;

Exemplo:
Genótipo Frequência
AA 27%
Aa 13%
aa 60%

9 - Comparar com os dados de frequencia da matriz original(gerada)

10 - Apresentar seus resultados em termos de porcentagem para o comparativo;

Exemplo:
Genótipo Original 1ª Geração Diferença
AA 25% 30% 5%
Aa 50% 40% 10%
aa 25% 30% 5%

Referência para cruzamentos:
Genótipos Parentais Proporção genotípica em F1 Proporção fenotípica em F1
A A x A A 100% A A 100% dominante
A A x A a 50% A A, 50% A a 100% dominante
A A x a a 100% A a 100% dominante
A a x a a 50% A a, 50% a a 50% dominante, 50% recessivo
A a x A a 25% A A, 50% A a, 25% a a 75% dominante, 25% recessivo
a a x a a 100% a a 100% albino

esse e meu problema agora o q conseguir criar ate agora ;
public static void main(String[] args) {
        String[][] matriz = new String[5][5];
        int[] vetor = new int[4];
        int linha_Par,coluna_Par,linha_Impar,coluna_Impar;
        int sorteio, sorteio_linha, teste = 0;
        String gametas, gameta_M, gameta_F;

        for (int l = 0; l < matriz.length; l++) {
            for (int c = 0; c < matriz.length; c++) {
                sorteio = random(3);//aki chamo a funçao pra gerar numeros aleatorios ;

                if (sorteio == 1) {
                    gametas = "AA";
                } else if (sorteio == 2) {
                    gametas = "Aa";
                } else if (sorteio == 3) {
                    gametas = "aa";
                } else {
                    gametas = "Incorreto";
                }
                matriz[l][c] = gametas;

            }

        }
        boolean validoMasculino = false;
        boolean validoFeminino = false;
        while (100 > teste) {
            while (validoMasculino == false || validoFeminino == false) {
                sorteio = random(matriz.length) - 1;
                if (sorteio % 2 == 0) {
                    linha_Par = sorteio;
                     coluna_Par = random(matriz.length) - 1;
                    validoMasculino = true;
                } else {
                     linha_Impar = sorteio;
                     coluna_Impar = random(matriz.length) - 1;
                    validoFeminino = true;
                }
               
            } 
            
            teste++;
        }
        



        System.out.print("Matriz principal\n");
        for (int l = 0; l < matriz.length; l++) {
            for (int c = 0; c < matriz.length; c++) {

                System.out.print(matriz[l][c] + "\t");

            }
            System.out.println("");
        }



    }

    public static int random(int n) {
        int sorteio = (int) (Math.random() * n + 1);
        return sorteio;
    }
}

3 Respostas

ViniGodoy

Ao postar tópicos, por favor:

  1. Use a tag code para formatar os códigos:
    http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

  2. Dê um título descritivo, relacionado a sua dúvida. O título “Me ajudem por favor!!” além de parecer desesperado, não ajuda os especialistas no seu problema a chegarem no seu tópico;

  3. Não poste só o problema, mas também a dúvida. Eu não entendi o que você não está sabendo fazer.

E

Por que é que você não está seguindo a especificação?

Não é questão de ter idéias e sim de seguir o enunciado do problema rigorosamente.

Não vi definida aí uma matriz de 1000 por 1000, por exemplo. 5 é diferente de 1000 :slight_smile:

Para tornar seu problema mais rápido de resolver, use o tempo todo os números de 1 a 3, e deixe a conversão para strings (AA, aa e Aa) para o final.

Se quiser, use enums ou constantes (public static final int AA = 1, Aa = 2, aa = 3;).

Um dos problemas que vejo no seu programa é o uso de um array bidimensional de strings, o que não é tão trivial assim de usar em Java (sempre tem uma coisinha chata em Java). Mas um array bidimensional de int ou byte é mais fácil de usar.

L

meu maior problema esta na parte 4 do problema nao sei se estou fazendo certo , e se funcionar com uma matriz de 5 vai funcionar com uma de 1000

Criado 24 de junho de 2012
Ultima resposta 25 de jun. de 2012
Respostas 3
Participantes 3