Logica com matriz

Bom dia pessoal,
Preciso de uma ajuda de logica com uma matriz.
Supondo que eu tenha a seguinte matriz de 3x7:

[3 , 4 , 5 ,   ,   ,  ]
[1 , 2 , 3 , 4 , 5 , 6]
[2 , 3 , 4 ,   ,   ,  ]

Eu gostaria de deixa-la da seguinte maneira:

[  ,   , 3 , 4 , 5,   ]
[1 , 2 , 3 , 4 , 5 , 6]
[  , 2 , 3 , 4 ,   ,  ]

Deu pra entender?! Se existir 3 ou mais valores iguais em alguma linha eu gostaria de jogar para a posição do outro.

Ola Sad7, nao entendi sua duvida.

Voce poderia tentar explicar novamente o que voce quer?

Abraços

seria ordena-la e colocar os valores iguais entre as linhas na mesma coluna?

você vai precisar criar uma matriz auxiliar com o mesmo número de linhas e colunas da original, então você testa se cada posição equivale ao valor contido nela mesma, e então dependendo do resultado do teste, você grava na matriz auxiliar, por exemplo:

for(x = 0; x < numLin; x++){
    for(y = 0; y < numCol; y++){
        if(matriz[x][y] != null){
            if(matriz[x][y] = y + 1){
                aux[x][y] = matriz[x][y];
            }else{
                aux[x][matriz[x][y] - 1] = matriz[x][y];
            }
        }
    }
}

ah, mais uma pergunta: podem ser colocados quaisquer valores na matriz, ou soh 1, 2, 3, 4, …, n?
se der pra colocar quaisquer valores, o programa fica um pouco mais complicado :?

Exatamente isso.

[quote]
ah, mais uma pergunta: podem ser colocados quaisquer valores na matriz, ou soh 1, 2, 3, 4, …, n?
se der pra colocar quaisquer valores, o programa fica um pouco mais complicado [/quote]

podem ser colocados N valores :frowning:
eu to tentando aqui algum jeito de fugir disso mais esta complicado…

[quote=Sad7]podem ser colocados N valores :frowning:
eu to tentando aqui algum jeito de fugir disso mais esta complicado…[/quote]

ok, N valores nao é problema, o problema é se eles puderem começar em algum valor diferente de 1…

por exemplo, se o conjunto de valores for {1, 2, 3, 4, 5, 6, …, n}, tá beleza, mas se for {2, 3, 4, 5, …, n} ou {3, 4, 5, 6, 7, …, n} já fica beeem mais complicado…

[quote=tauame][quote=Sad7]podem ser colocados N valores :frowning:
eu to tentando aqui algum jeito de fugir disso mais esta complicado…[/quote]

ok, N valores nao é problema, o problema é se eles puderem começar em algum valor diferente de 1…

por exemplo, se o conjunto de valores for {1, 2, 3, 4, 5, 6, …, n}, tá beleza, mas se for {2, 3, 4, 5, …, n} ou {3, 4, 5, 6, 7, …, n} já fica beeem mais complicado…[/quote]

hehe,
esse nao eh o problema,
o problema ainda maior eh que isso pode conter letras…
{G,U,I,L,H,E,R,M,E,1,2,3,4,5}

=//

putz… então a coisa é feia mesmo, talvez você devesse pedir ajuda para o seu professor (ou seu superior, caso você já seja formado)…
se eu tivesse tempo, poderia até tentar te ajudar, mas agora ta ruim :confused: :?

Eu faria o seguinte…

1 - pega essa matriz e transforma ela em vetores…no caso vc iria criar 3 vetores com 7 posições cada.
2 - ordene estes três vetores, vc pode usar um algoritimo pronto para ordenação.
3 - vc vai ler a primeira coluna do primeiro vetor, se o valor dele for A então esta ok, caso contrário vc adiciona uma posição em branco e “empurra” o resto para frente.
4 - feito isso vc vai ter ordenado um vetor da seguinte maneira

vetor 1 = [“A”," “,” “,” “,” “,” “,” “,…“1”,“2”,” “,]
vetor 2 = [” “,“B”,” “,” “,” “,” “,” “,…” “,“2”,” “,]
vetor 3 = [“A”,” “,” “,” “,“E”,” “,” “,…” “,” ",“3”,]

5 - voltar estes vetores para uma matriz…

[ ]'s

[quote=Giulliano]Eu faria o seguinte…

1 - pega essa matriz e transforma ela em vetores…no caso vc iria criar 3 vetores com 7 posições cada.
2 - ordene estes três vetores, vc pode usar um algoritimo pronto para ordenação.
3 - vc vai ler a primeira coluna do primeiro vetor, se o valor dele for A então esta ok, caso contrário vc adiciona uma posição em branco e “empurra” o resto para frente.
4 - feito isso vc vai ter ordenado um vetor da seguinte maneira

vetor 1 = [“A”," “,” “,” “,” “,” “,” “,…“1”,“2”,” “,]
vetor 2 = [” “,“B”,” “,” “,” “,” “,” “,…” “,“2”,” “,]
vetor 3 = [“A”,” “,” “,” “,“E”,” “,” “,…” “,” ",“3”,]

5 - voltar estes vetores para uma matriz…

[ ]'s
[/quote]

hnnn,
nao tinha pensado nisso ainda, a unica eh q do jeito que vc disse ela ordenaria, e eu nao posso ter uma ordenação, mais eu vo tenta implementar alguma coisa com essa sua ideia, acho q vai funcionar…

valeuu Giulliano.