Ir para conteúdo
Fórum Script Brasil
  • 0

Alocando matriz


Thales15

Pergunta

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

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...