Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lemuf

Matrizes- itinerario

Recommended Posts

Pessoal, consegui fazer esse problema, porém é complicado na hora de usar a variavel m(numero de itinerarios, que não estou usando para nada), e na hora de rodar, dependendo dos valores q digito para o vetor do itinerario da problema, tem como eu limitar o intervalo desses valores? E nessa ultima parte ñ sei se posso fazer isso ao certo(a parte da matriz[vetor])

tag

for(i=0;i<(k-1);i=i+1)
         {
                           custo=custo+A[I[i]][I[i+1]];}

Os elementos aij de uma matriz de 'custos' An x n representam os custos de transporte da cidade i para a cidade j. Dados m itinerários, cada um com k cidades, calcular o custo total para cada itinerário.

 

Exemplos

 

Os dados de entrada são: o inteiro positivo n, a matriz inteira An x n e os inteiros m e k.

Exemplo:

 

4 1 2 3

5 2 1 400

2 1 3 8

7 1 2 5

 

 

 

A saída é: O custo do itinerário 0 3 1 3 3 2 1 0 é a03 + a31 + a13 + a33 + a32 + a21 + a10 = 3 + 1 + 400 + 5 + 2 + 1 + 5 = 417

 

O codigo que fiz está abaixo, porém estou mt na duvida sobre o falado acima

#include <conio.h>
#include <stdio.h>
main()
{
      int i,j,k,n,m,A[20][20],I[20],custo;
      printf("Entre com o numero de cidades n:\n");
      scanf("%d",&n);
      while(n<0)
      {
                printf("valor incorreto\n");
                printf("digite outro valor\n");
                scanf("%d",&n);
                 }
      printf("Entre com a matriz de custos:\n");
      for(i=0;i<n;i=i+1)
      { for(j=0;j<n;j=j+1)
        {     
            scanf("%d",&A[i][j]);}}
      
      printf("Entre com o numero de itinerarios m e com o comprimento dos itinerarios k:\n");
      scanf("%d %d",&m,&k);
      while(m<0)
      {
                printf("valor incorreto\n");
                printf("digite outro valor\n");
                scanf("%d %d",&m,&k);
                 }
        
        for(j=0;j<k;j=j+1)
        {
                           scanf("%d",&I[j]);}                      
        custo=0;       
        
        for(i=0;i<(k-1);i=i+1)
         {
                               custo=custo+A[I[i]][I[i+1]];}
         printf("O custo deste itinerario eh:R$%d\n",custo);
         
         getch();}

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o enunciado todo, para eu dar uma olhada!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o enunciado todo, para eu dar uma olhada!

 

[]s

 

o enunciado todo está acima :

Os elementos aij de uma matriz de 'custos' An x n representam os custos de transporte da cidade i para a cidade j. Dados m itinerários, cada um com k cidades, calcular o custo total para cada itinerário.

 

Exemplos

 

Os dados de entrada são: o inteiro positivo n, a matriz inteira An x n e os inteiros m e k.

Exemplo:

 

4 1 2 3

5 2 1 400

2 1 3 8

7 1 2 5

 

 

 

A saída é: O custo do itinerário 0 3 1 3 3 2 1 0 é a03 + a31 + a13 + a33 + a32 + a21 + a10 = 3 + 1 + 400 + 5 + 2 + 1 + 5 = 417

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.