Ir ao conteúdo
  • Cadastre-se

Dúvidas para resolver o exercício em C


thiago.sa

Posts recomendados

Estou com dúvidas em resolver este exercício em C++, perdi algumas aulas de programação então não consigo executar. Ficarei muito grato se alguém puder me ajudar...

Visando fazer um levantamento das atuais condições de tráfego em uma malha

rodoviária e definir alternativas para uma reformulação futura, foi realizada uma

pesquisa de tráfego do tipo ORIGEM-DESTINO. Esta pesquisa submeteu aos motoristas

que trafegavam pela região em estudo um questionário com as seguintes perguntas:

• De onde veio? (origem)

• 1 – Belo Horizonte

• 2 – São Paulo

• 3 – Santos Dumont

• 4 – Brasília

• Para onde vai? (destino)

• 1 – Rio de Janeiro

• 2 – Petrópolis

• 3 – Juiz de Fora

• 4 – Barbacena

• Qual o tipo de veículo?

• 1 – automóvel

• 2 – Caminhão

• 3 – ônibus

• As respostas a essas 3 questões de cada entrevista, utilizando códigos numéricos

(1,2,3,4), estão disponíveis numa unidade de entrada. A última entrevista possui as 3

respostas iguais a zero (0).

• A fim de fornecer respostas a algumas questões formuladas pelos engenheiros

responsáveis pelo estudo do problema, implementar um código em C/C++ que calcule

e imprima:

• a matriz origem destino de cada veículo;

• o número de veículos que tem Belo Horizonte como origem;

• a quantidade de ônibus que se originaram de Brasília e se destinam a Petrópolis ou

Barbacena.

• A principal estrutura de dados utilizada é uma matriz (tridimensional) constituída de 3

matrizes bidirecionais, ou seja, três matrizes origem x destino, uma para cada tipo de

veículo.

Link para o comentário
Compartilhar em outros sites

Fiz até aí mas não esta funcionando direito, estou com dúvidas em fazer mostrar as matrizes e contar.


# include <stdlib.h>
# include <stdio.h>

int main()
{
int automovel[4][4],caminhao[4][4],onibus[4][4];
int x,y,opcao,origem,destino;
//x = origem
//y = destino

while((automovel[0][0]) && (caminhao[0][0]) && (onibus[0][0])){
printf("Levantamento das atuais condicoes de trafego de uma malha rodoviaria:\n\n");
printf("Digite a resposta de acordo com as opções abaixo\n");
printf("De onde voce vem?(origem)\n");
printf("(1) BELO HORIZONTE \n");
printf("(2) SAO PAULO \n");
printf("(3) SANTOS DUMONT \n");
printf("(4) BRASILIA\n");
scanf("%i",&x);
system("CLS");

printf("Digite a resposta de acordo com as opções abaixo\n");
printf("Para onde voce vai?(Destino)\n");
printf("(1) RIO DE JANEIRO \n");
printf("(2) PETROPOLIS \n");
printf("(3) JUIZ DE FORA \n");
printf("(4) BARBACENA\n");
scanf("%i",&y);
system("CLS");

printf("Digite a resposta de acordo com as opções abaixo\n");
printf("Qual o tipo do veículo?\n");
printf("(1) automovel \n");
printf("(2) caminhao \n");
printf("(3) onibus \n");
scanf("%i",&opcao);
if(opcao==1){
automovel[x][y]++;
}
if(opcao==2){
caminhao[x][y]++;
}
if(opcao==3){
onibus[x][y]++;
}
if(opcao==0){
}

printf("Matrix do automovel(origem = linha\ destino = coluna\n");
for(x=0; x < 4;x++){
printf("\n");
for(y=0 ;y < 4;y++){
printf(" ");
printf("%i",automovel[x][y]);
}
}
printf("\n");
//termina matrix do automovel

printf("Matrix do caminhao(origem = linha\ destino = coluna\n");
for(x=0; x < 4;x++){
printf("\n");
for(y=0 ;y < 4;y++){
printf(" ");
printf("%i",caminhao[x][y]);
}
}
printf("\n");
//termina matrix do caminhao

printf("Matrix do onibus(origem = linha\ destino = coluna\n");
for(x=0; x < 4;x++){
printf("\n");
for(y=0 ;y < 4;y++){
printf(" ");
printf("%i",onibus[x][y]);
}
}
printf("\n");
//termina matrix do onibus
//system("CLS");
}
system("PAUSE");
return(0);
}

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Olá Thiago,

é o seguinte, o seu codigo está errado me parece na parte de como fazer a manipulacao dos dados. Comecando pela primeira parte:

 printf("Digite a resposta de acordo com as opções abaixo\n");
printf("De onde voce vem?(origem)\n");
printf("(1) BELO HORIZONTE \n");
printf("(2) SAO PAULO \n");
printf("(3) SANTOS DUMONT \n");
printf("(4) BRASILIA\n");
scanf("%i",&x);
system("CLS");
Aqui você ta pegando a resposta que sendo 1/2/3/4 vai adicionar este valor a x.
Penso eu que em todas as resposta que der você tera que pegar esse numero e adicionar ele ao valor final.
--------------------------------------------------------------------------

printf("Digite a resposta de acordo com as opções abaixo\n");
printf("Para onde voce vai?(Destino)\n");
printf("(1) RIO DE JANEIRO \n");
printf("(2) PETROPOLIS \n");
printf("(3) JUIZ DE FORA \n");
printf("(4) BARBACENA\n");
scanf("%i",&y);
system("CLS");

Nesta etapa a mesma coisa. você pega um valor e adiciona a x.
-------------------------------------------------------------------------
printf("Digite a resposta de acordo com as opções abaixo\n");
printf("Qual o tipo do veículo?\n");
printf("(1) automovel \n");
printf("(2) caminhao \n");
printf("(3) onibus \n");
scanf("%i",&opcao);
-------------------------------------------------------------------------
agora se for opcao 1. você poe o valor de x e y incrementando? não entendi direito o que você quis fazer...

if(opcao==1){
automovel[x][y]++;
}
if(opcao==2){
caminhao[x][y]++;
}
if(opcao==3){
onibus[x][y]++;
}
if(opcao==0){
}



Vou lhe dar um pequeno exemplo de como fazer para ver se esclareco.


printf("opções");
printf("1 - para carro");
printf("2 - para moto");
scanf("%d", &öpc);
if(opc == 1)
{
x++; este aqui vai ser o contador para carro
printf("qual a cidade");
printf("1- brasilia");
printf("2- goias");
scanf("%d", &cidade);
if(cidade == 1)
{
b++; esta é para cidade de brasilia
}
else if(cidade ==2)
g++;
}
if(opc == 2)
y++;
.
.
.
e assim por adiante...

No final você pode pôr, por exemplo:

printf("Quantidade de pessoas que escolheram carro: %d", x);
printf("Quantidade de pessoas que escolheram Brasilia: %d",;

Entendeu?

Qualquer coisa me manda msg!

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...