Eu to com dificuldade em fazer um código de um programa que o objetivo dele é calcular rotas, de no máximo 5 cidades. Sei q tenho q usar uma matriz 5x5, e as instruções q eu tenho é q devo perguntar pro usuário quantas cidades ele deseja, qual a distancia de cada cidade para outra e perguntar a ordem da rota, (exemplo: A-B-C, B-D-A-C etc). Pórem eu tenho duvida de como faço essa matriz, e de como vou conseguir acessar os elementos dela a partir das letras q o usuário disca, ouvi sobre o “atoi”, mas não consegui assimilar como usar. Um exemplo da tabela com a distancia q o usuário tem q colocar tá na imagem anexada.
Caracteres são tratados internamente como inteiros. Basta subtrair do caractere lido o valor 65, garantido que o caractere é maiúsculo, pois 65 é o código do caractere A.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char cidade;
char posCidade;
// lê o caractere que representa a cidade
scanf( " %c", &cidade );
// converte para maiúscula
cidade = toupper( cidade );
// subtrai 65 do código do caractere (A==65, B==66, C==67, D==68, E==69)
posCidade = cidade - 65;
// se cidade for igual a `A`, posCidade conterá 0, se for igual a `B`,
// conterá 1 e assim por diante
return 0;
}
1 curtida