Ir ao conteúdo
  • Cadastre-se

C Fila em Liguagem C


lidy ane

Posts recomendados

Estou com uma duvida teórica, preciso fazer um programa que :

 

na entrada   - exibe um numero inteiro N indicando o numero de pessoas em uma fila ,com 2 ≤ N ≤ 30;

                      - N inteiros que representam as posiçoes X1, X2, . . . XN de cada pessoa na fila, com X1 ≤ X2 ≤ . . . ≤ XN 

                     - numero inteiro I  (representa o indice de um indivıduo doente),  com 1 ≤ I ≤ N  esta doença é trasmitida  quando a distancia entre pessoas for  <= 2 metros.

 

 

 na saída : numero de pessoas doentes

 

Algum poderia me indicar a estrutura ou material teórico para incorporara esses dados ? procurei mas nao encontrei , preciso do tamanho e posição na fila.
 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, lidy ane disse:

na entrada   - exibe um numero inteiro N indicando o numero de pessoas em uma fila ,com 2 ≤ N ≤ 30;

                      - N inteiros que representam as posiçoes X1, X2, . . . XN de cada pessoa na fila, com X1 ≤ X2 ≤ . . . ≤ XN 

                     - numero inteiro I  (representa o indice de um indivıduo doente),  com 1 ≤ I ≤ N  esta doença é trasmitida  quando a distancia entre pessoas for  <= 2 metros.

 

 

 na saída : numero de pessoas doentes

 

Algum poderia me indicar a estrutura ou material teórico para incorporara esses dados ? procurei mas nao encontrei , preciso do tamanho e posição na fila

 

Isso faz pouco sentido. Antes de tudo não fala sobre a passagem do tempo e não vejo como modelar isso sem considerar o tempo.

 

Por outro lado nada fala sobre a distância entre as pessoas na fila, a taxa de chegada, os tempos de atendimento. 

Se as pessoas ficarem a 2.5m de distância na fila não haverá contaminação...

 

Que material teórico poderia dar solução a uma coisa tão vaga? Há todo um campo de Teroria das Filas, com vasta bibliografia. Eu por exemplo estudei isso.

 

Há muitos recursos e modelos sobre dispersão de partículas, sobre tempos de espera.

 

E há muito material sobre estruturas de dados e modelos abstratos.

 

Mas não sei o que fazer com enunciado desses.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@arfneto Concordo com você, me desculpe  mas o enunciado do exercício que tenho que fazer é o seguinte , é exatamente assim :  

 

Sabe-se que uma dada doença se espalha de uma pessoa infectada para outra nao infectada sempre que a distancia entre elas for menor ou igual a 2 metros. Assim, um conjunto de pessoas (dependendo da pessoa que foi infectada inicialmente) sera contaminado. O tamanho desse conjunto sera chamado de numero final de pessoas infectadas. Lembre-se que a pessoa originalmente contaminada faz parte do conjunto de pessoas infectadas. Alem disso, a partir do momento que uma pessoa e infectada, ela tambem infecta todos os que estão a uma distancia menor ou igual a 2 metros que nao estavam contaminados.

 

Escreva um programa em C que, dada uma fila de pessoas, com os respectivos valores de Xi para cada uma delas, e o índice da pessoa contaminada inicialmente, calcule o número total de pessoas infectadas.

Entrada • Na primeira linha ha um numero inteiro N indicando o numero de pessoas na fila.

• A segunda linha contem os N inteiros que representam as posiçãoes X1, X2, . . . XN de cada pessoa na fila.

• Na terceira linha ha um numero inteiro I que representa o índice do indivıduo contaminado.

Obs: • 2 ≤ N ≤ 30; 1

• X1 ≤ X2 ≤ . . . ≤ XN ;

• 1 ≤ I ≤ N. 3

Saıda - o programa devera mostrar o numero de pessoas infectadas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Isso é uma bobagem.

 

Qual a distância entre as pessoas na fila? 

O alcance da contaminação vai depender da distância do indivíduo contaminante. E a posição do contaminado na fila vai contaminar um círculo de 2m. Só que a fila é considerada linear até prova em contrário. E assim o total de contaminados vai sr função da distância entre as pessoas na fila e  posição do contaminado estar antes de metade dessa distância, certo? Uma conta óbvia. Considere um índice delta = a quantidade de pessoas por metro na fila e faça as contas em função desse delta e da distância do contaminado em relação à borda da fila

Link para o comentário
Compartilhar em outros sites

3 horas atrás, lidy ane disse:

Entrada • Na primeira linha ha um numero inteiro N indicando o numero de pessoas na fila.

• A segunda linha contem os N inteiros que representam as posiçãoes X1, X2, . . . XN de cada pessoa na fila.

• Na terceira linha ha um numero inteiro I que representa o índice do indivıduo contaminado.

Obs: • 2 ≤ N ≤ 30; 1

• X1 ≤ X2 ≤ . . . ≤ XN ;

• 1 ≤ I ≤ N. 3

Saıda - o programa devera mostrar o numero de pessoas infectadas

 

Tentei mesmo levar a sério esse troço, mas não dá. Alem da bobagem de tentar dar um aspecto sério a um texto bobo:

  • não toca no assunto da distância esperada entre as pessoas na fila.
  • não considera que a fila anda e que o contágio não é instantãneo
  • se tem N pessoas na fila, fica a critério do leitor imaginar o que é uma lista de N posições das pessoas na fila. Haverá não-pessoas na fila então? ovelhas? pombos? máquinas de café e biscoitos? Se só tem pessoas na fila então essa lista das posições vai ter N pessoas e N posições. Genial. Será um grupo em particular de N pessoas dentro de um universo maior de pessoas na fila? Vão estar numeradas de 1 a N, de N a 1 ou o que? Não, porque a fila contem N inteiros e a fila tem N pessoas. Veja que eu tentei.

Acho que deve discutir com o grupo de cientistas que elaborou isso e tentar achar um sentido.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
7 horas atrás, lidy ane disse:

• Na primeira linha ha um numero inteiro N indicando o numero de pessoas na fila.

 

Ex.: 5. (Terão 5 pessoas na fila);

 

 

 

7 horas atrás, lidy ane disse:

• A segunda linha contem os N inteiros que representam as posiçãoes X1, X2, . . . XN de cada pessoa na fila.

 

Pelo que suponho, essas "posições" seriam a algo como um eixo num plano cartesiano.

 

Ex.: 1, 4, 5, 7, 11 (a primeira pessoa está a 1 metro da origem; a segunda está a 4 metros; terceira 5 etc);

 

 

 

7 horas atrás, lidy ane disse:

• Na terceira linha ha um numero inteiro I que representa o índice do indivıduo contaminado.

 

Ex. 1 (a segunda pessoa está infectada);

Ex. 0 (a primeira pessoa está infectada);

 

 

 

 

7 horas atrás, lidy ane disse:

Obs:

• 2 ≤ N ≤ 30; 1

• X1 ≤ X2 ≤ . . . ≤ XN ;

• 1 ≤ I ≤ N. 3

 

A primeira linha significa que terá pelos menos 2 pessoas e no máximo 30;

A segunda linha diz que a distância sempre vai aumentando a medida que vai aumentando a posição;

A terceira linha diz que qualquer um pode ser o infectado inicial.

 

 

 

7 horas atrás, lidy ane disse:

Saıda - o programa devera mostrar o numero de pessoas infectadas.

Pegando o exemplo inicial:

Se 1, terão 3 pessoas infectadas no total;

Se 0, terá apenas 1 pessoa (a própria).

 

 

 

3 horas atrás, arfneto disse:

Acho que deve discutir com o grupo de cientistas que elaborou isso e tentar achar um sentido.

 

De um modo resumido: a definição do problema não precisa ser verossimilhante. É como uma filme ou série... precisa entrar no escopo do contexto.

 

Link para o comentário
Compartilhar em outros sites

image.png.18650d55c977c52474840858e91aa981.png

12 minutos atrás, Simon Viegas disse:

A segunda linha diz que a distância sempre vai aumentando a medida que vai aumentando a posição;

 

Não vejo onde está escrito que a posição da pessoa na fila --- que é o que está de fato escrito --- é a distância a partir de algum ponto de referência. Conseguiu ler ali que Xé a distância, em metros, da pessoa do início da fila? Não consigo. 

 

16 minutos atrás, Simon Viegas disse:

De um modo resumido: a definição do problema não precisa ser verossimilhante. É como uma filme ou série... precisa entrar no escopo do contexto

 

 

:) de um modo resumido: não consigo.

 

  • Haha 1
Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Mauro Britivaldo disse:

Não porque X1 menor que X2 que todo X é diferente

 

@Simon Viegas E esse ponto que Mauro falou é pra repetir:

 

image.png.9a1ba37398e22a4608260f41c2c61cb7.png

 

Então todos os X podem ser iguais. 
 

29 minutos atrás, Simon Viegas disse:

precisa entrar no escopo do contexto

 

Como entrar nesse contexto? Estariam todos uns sobre os outros na fila? Estariam em círculo à mesma distância? E se fosse pequena :) ? 

 

Eu desisti,

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 28/05/2020 às 12:17, lidy ane disse:

Dado o enunciado, fazer um programa em C que :

 

na entrada  

 

- exibe um numero inteiro N indicando o numero de pessoas em uma fila ,com 2 ≤ N ≤ 30;

  - N inteiros que representam as posiçoes X1, X2, . . . XN de cada pessoa na fila, com X1 ≤ X2 ≤ . . . ≤ XN 

   - numero inteiro I  (representa o indice de um indivıduo doente),  com 1 ≤ I ≤ N  esta doença é trasmitida  quando a distancia entre pessoas for  <= 2 metros.

 

 

 na saída : numero de pessoas doentes

 

Preciso de ajuda para corrigir meu codigo: 

#include <stdio.h>


void covid (){

    //Dado N pessoas em uma linha reta ,COM 2 ≤ N ≤ 30;
    int N [30];
    // i acessa a posição da pessoa na fila
    int i;
    //indice de contaminaçao
    int I;

    for(i =0; i<30 ; i++){
        printf("%i", i);
        scanf("%i", &N );
    }

      //Transmissao distancia entre pessoas for  <= 2 metros
      if (i> 2||i =2){
        printf("%d " ,N  );
      }
       
       //numero inteiro I que representa o indice do indiv´ıduo contaminado.,1 ≤ I ≤ N.
       ??? 

    }

int main(){
    return 0;

}

Citação

 

 

 

adicionado 10 minutos depois
10 minutos atrás, lidy ane disse:

 

nao esta aparecendo mas nos printf é N

  • Confuso 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!