Ir ao conteúdo
  • Cadastre-se

Idéia para fazer matriz


Plástico Bolha

Posts recomendados

Essa matriz deve ser produzida a partir de um for ou while etc ...

Alguem tem alguma ideia para gerar uma matriz assim matriz M[5][5]: (M[j])

0 1 2 3 4

1 1 2 3 4

2 2 1 2 3

3 3 2 1 2

4 4 3 2 1

Eu fiz isso até agora ... Mas ta errado =X ...

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

int main()
{
int m[20][20];
int n;
int i = 0;
int j = 0;
int x = 0;


for(i; i < 10; i++){
n = 1;
if (i == 0) n = 0;
j = 0;
for(j; j < 10; j++)
{
m[n][x] = j;
m[x][n] = j;
n = n+1;
}
x = x+1;

}


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

system("PAUSE");
return 0;
}

Desde ja agradeço a resposta ;D

Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>
#define TAM_MAX 5 //tamanho da matriz m[n][n];

int main()
{
int m[TAM_MAX][TAM_MAX];
int n;
int i;
int j;


for(i = TAM_MAX-1; i >= 0; i--){
n = 0;
for(j = i; j >= 0; j--){
n++;
m[i][j] = n;
m[j][i] = n;
}
m[i][0] = i;
m[0][i] = i;
}


for(i = 0; i < TAM_MAX; i++){

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

system("PAUSE");
return 0;
}

Tá aí o que precisava

Link para o comentário
Compartilhar em outros sites

PoW valeu mesmo cara :D ... vou analisar o que você fez aqui agora ;D

Entendi você monto ao contrário =P ...

vou usar a parte que você fez pra mim aqui:

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


//Criando MAT inicio

typedef struct{
char op;
int de;
}Mat;
//Criando MAT fim

int min(int i, int j, int c, Mat M[100][100]){

if( (M[i-1][j-1].de+c < M[i][j-1].de) && (M[i-1][j-1].de+c < M[i-1][j].de) ) // RETORNA V1
return M[i-1][j-1].de+c;

else if( (M[i-1][j].de < M[i][j-1].de) && (M[i-1][j].de < M[i-1][j-1].de+c) ) // RETORNA V2
return M[i-1][j].de;

else //if ( (M[i][j-1].de < M[i-1][j].de) && (M[i][j-1].de < M[i-1][j-1].de+c) ) // RETORN V3
return M[i][j-1].de;
}

int main()
{ // -- Declara variáveis e inicia
char A[200], B[200];
int m, n, c, R, v = 0;
Mat M[100][100];
int y = 0;
// -- Declara variáveis e inicia

//----------- Auto explicativo ...
printf("Digite duas strings separadas por espaco: ");
scanf("%s %s", &A, &;
printf("voce digitou %s e %s\n", A, ;
m = strlen (A);
n = strlen (;
printf("Tamanho das strings: %d e %d\n", m, n);
//----------- Auto explicativo ...


//----------- populando as linhas da matriz (da mesma matriz que é Ma)
for(int i = 0; i <= m; i++)
M[i][0].de = i;


//----------- populando as colunas da matriz (da mesma matriz que é Ma)
for(int j = 0; j <= n; j++)
M[0][j].de = j;

//-----------
for (int i = 1; i <= m; i++)
for (int j = 1; j <= n; j++){
if (A[i-1] == B[j-1]) // Compara string A com B e incrementa ou não c ...
c = 0;
else
c = 1;

// Função Min aqui
R = min(i, j, c, M);

if(R == M[i-1][j-1].de+c){ // V1
if(c == 0){
M[i][j].op = 'N'; // NÃO FAZ NADA
}

else{ // SUBSTITUI
M[i][j].op = 'S';
//A[i] = B[j];
}

}

if (R == M[i-1][j].de){ //V2
M[i][j].op = 'R';
}

if (R == M[i][j-1].de){ //V3
M[i][j].op = 'I';
//A[i+1] = B[j]; INSERE
}
}

printf("\n");
//Imprime Ma Inicio

printf(" ");
for(int i = 0; i <= m; i++)
printf("%c ",A[i]);

printf("\n");
printf(" 0 ");
for(int i = 1; i <= m; i++)
printf("%d ", M[i][0].de);

printf("\n");
for(int j = 1, i = 1; j <= n; j++, i++)
printf("%c %c\n\n", B[j-1], M[i][j].op);


printf("\n\n");
printf("\n");
system("PAUSE");
return 0;
}

Apesar de você ter me ajudado =P ... Me deu vontade de entender porque o meu estava errado ... Era só ter iniciado j como j = i ... LoL que fail meu =X ...

#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int main()
{
int m[100][100], n;
for(int i = 0; i < MAX; i++){
n = 1; if(i == 0) n = 0;
for(int j = i; j < MAX; j++)
{
m[i][j] = n;
m[j][i] = n;
n = n+1;
}
}
for(int i = 0; i < MAX; i++){
for(int j = 0; j < MAX; j++)
printf("%d ", m[i][j]);
printf("\n");
}
system("PAUSE");
return 0;
}

>>>>>>> http://www.puxaranime.xpg.com.br/ <<<<<<<<<<<<<<<

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!