Pesquisar na Comunidade
Mostrando resultados para as tags ''malloc matriz''.
Encontrado 1 registro
-
Boa tarde, eu vou passar a questão que estou tentando resolver e depois faço os comentarios: Faça um programa que: (a) Peça para o usuário entrar com o nome e a posição (coordenadas X e Y) de N cidades e as armazene em um vetor de estruturas (N é informado pelo usuário); (b) Crie uma matriz de distâncias entre cidades de tamanho N x N; (c) Calcule as distâncias entre cada uma das cidade e armazene na matriz; (d) Exiba na tela a matriz de distâncias obtida; (e) Quando o usuário digitar o número de duas cidades o programa deverá retornar a distância entre elas. ok, andei pesquisando sobre como alocar matrizes e meu codigo ficou meio assim: #include <stdio.h> #include <stdlib.h> #include <string.h> struct *cidade { char nome[50]; int coordenada_x; int coordenada_y; }; int main() { int i; int k; int num_cidade; struct cidade **p; printf("Insira a quantidade de cidade:\n"); scanf("%d",&num_cidade); p = (struct cidade **)calloc(sizeof(struct cidade), num_cidade *); for(i=0;i<num_cidade;i++) { p[i] = (int *) malloc (num_cidade * sizeof (int)) } for(i=0;i<num_cidade;i++) { printf("Insira o nome da cidade da linha e coluna %d da matriz:\n",i+1); fgets((p->nome[i]),50,stdin); printf("Insira a coordenada X da cidade %d:\n",i+1); scanf("%d",&(p->coordenada_x)); printf("Insira a coordenada Y da cidade %d:\n",i+1); scanf("%d",&(p->coordenada_y)); } tem mais algumas coisas para baixo mas acredito que esta tudo errado, algumas duvidas... a alocação esta certa ? quando o usuario inseri os valores de coordenada_x e coordenada_y, eles são a linha e coluna da matriz alocada, certo ? como eu faço para passar esse valores para a matriz ? sendo que imaginando aqui como seria a matriz, quando fossem iguais seria 0, isso eu resolvo de boa mas e quando se repete ? por exemplo... linha 1 e coluna 2 tem valor 50, depois iria cair em linha 2 coluna 1, o valor deveria ser o mesmo do anterior, certo ? eu não quero que alguém faça o codigo e já deixe pronto, eu realmente estou me questionando muito nessa questão porque eu consigo imaginar X problemas. Sem falar que as vezes to pensando e imagino uma forma totalmente diferente, então gostaria de saber se o que ta feito ai ate agora é o caminho certo ou eu estou pensando de maneira errada? Obg e desculpe se ficou meio longo :D Acho que errei na hora de botar o codigo ali dentro do [code.. vou upar no pastebin caso ajude na visualização. http://pastebin.com/28Hz7SKU