Ir ao conteúdo

Como Criar Matriz em C++ de indices alfabeticos ?


SRV

Posts recomendados

Postado

Boa Tarde ,

galera , preciso criar uma matriz em C++ da seguinte maneira

A B C D E F G

A 0 5 9 7 8 9 5

B 7 8 5 7 4 8 9

C 6 2 3 2 1 2 3

D .......

F

F

G

Ou seja , a posicao de numero 0 tem que ser a posicao Letra A , posicao 1 tem que ser a posicao de letra B ..

Após isso , preciso preencher a matriz , mas preencher é tranquilo o que ta agarrando é como determinar que a posicao 0 é a posicao A .

ja tentei usar caractere ASCI , usar TAD , e funcao .. nao consegui ..

alguem saberia como comecar ?

obrigado

Postado

Utiliza "indice + 'A'" . Assim, para o índice 0 a letra será A, para 1 = B, 2 = C e assim por diante.

Dá uma olhada aqui:


#include <stdio.h>

int main()
{
int matriz[10][10];

for(int i = 0; i < 10; i++)
for(int j = 0; j < 10; j++)
matriz[i][j] = i * j;


printf(" ");
for(int i = 0; i < 10; i++)
printf(" %c ", 'A'+i);
printf("\n");

for(int i = 0; i < 10; i++)
{
printf(" %c ", 'A'+i);
for(int j = 0; j < 10; j++)
printf("%5d", matriz[i][j]);
printf("\n");
}

return 0;
}

JP

Postado

Amigo ,

Rodei seu programa e esta perfeito ,

compreendi a lógica mas como não entendo certas sintaxes da linguagem C , somente de C++ ,gostaria que voce comentasse o seguinte trecho abaixo por gentileza :

printf(" %c ", 'A'+i); // qual o significado de %c ?

printf("%5d", matriz[j]); // %5d ?

Obrigado pela Ajuda

Postado

Vamos lá:

printf(" %c ", 'A'+i); // qual o significado de %c ?

O %c indica ao printf que deve ser impresso um "char", sendo que o valor dele será subtituído pelo primeiro parâmetro - o caractere 'A'+i.

printf("%5d", matriz[j]); // %5d ?

Da mesma forma, o %d indica ao printf que deve ser impresso um int. Sendo prefixado com um número (no caso o "5"), indica que ele deverá ocupar "5 espacos". Também da mesma forma, o conteúdo do número será o primeiro parâmetro ali, o matriz[j].

Aqui tem um referência legal com o "format specifiers" do printf.

JP

Postado

Obrigado !

entendi o significado .

estou terminando de implementar o programa e acredito que dará certo .

valeu !

Postado

Caso tenha dificuldades, vai o programa 'em C++':


#include <iostream>
#include <iomanip>
using namespace std;

int main(void){
int matriz[10][10];

for(int i = 0; i < 10; i++)
for(int j = 0; j < 10; j++)
matriz[i][j] = i * j;
cout<<" ";
for(int i = 0; i < 10; i++)
cout<<" "<<(char)(i+'A')<<" ";
cout<<endl;
for(int i = 0; i < 10; i++){
cout<<" "<<(char)(i+'A')<<" ";
for(int j = 0; j < 10; j++)
cout<<setw(5)<<matriz[i][j];
cout<<endl;
}

return 0;
}

Postado

Amigo ,

obrigado ,

tinha feito de outra maneira mas da maneira que voce colocou acima fica muito mais funcional do qual eu fiz .

obg

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!