Jump to content
Fórum Script Brasil
  • 0

Alocando matriz


Thales15
 Share

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...