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

Programa C


Bolt 4

Pergunta

Beleza?

Olha,queria fazer um programa,como meus conhecimentos são poucos a sua ajuda pode me adiantar.

O programa é o seguinte,são 8 conteúdos que são destribuídos em 7 dornas(recipientes) e3 cubas(recipientes),sendo que as dornas tem que estarem cheias,portanto um conteúdo ficará em uma cuba.

Agora a parte que importa,o conteúdo dessas dornas,são despejados de tempo em tempo na cuba um por vez(sempre tendo 7 dornas cheias,e 2 cubas ficarão vazias),quero calcular a sequência desses procedimentos:

Dorna 1>cuba 1

Dorna 2>cuba 2

Dorna 3>cuba 3

Dorna 4>cuba 1

Dorna 5>cuba 2.......e assim por diante até a contagem de 10.

O programa tem que funcionar tipo,digito a dorna que será esvaziada e a cuba que será cheia e daí sairá a sequência certa pelo menos 10 vezes.

Podem me ajudar ?Sem pressa,pretendo aprender com isso,obrigado.

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

8 conteúdos divididos em 7 dornas e 3 cubas,7 dornas devem estar cheias.

7-8=1 esse conteúdo restante irá ficar na cuba,sendo assim 7 dornas cheias e uma das 3 cubas cheias,2 cubas vazias.

De tempo em tempo rodam as dornas,e o conteúdo muda para a cuba,e a cuba cheia vai para a dorna que está desvaziando.

dorna 7 irá para cuba 2,isso significa que a cuba 1 está cheia e irá ser despejada na dorna 7,entendeu?

dorna 7>cuba2

a próxima será

dorna 1 cuba 3.....assim por diante.

quero calcular essa sequencia pelo melos 10 vezes,me especifique que parte não entendeu,para poder explicar melhor certo?

Link para o comentário
Compartilhar em outros sites

  • 0

Suponhamos que as dornas são copos,as cubas são jarras,o conteúdo suco.

Se eu for explicar o que são dornas e cubas e para que servem vou ficar aqui o dia inteiro.

Pense o seguinte,tenho 7 copos,3 jarras,8 copos de suco.

posso por 1 copo apenas em cada jarra ou copo,de tempo em tempo irei despejar esse copo em uma jarra(2 vazias),esse copo irá ficar vazio,mas todos eles tem que ficarem cheios(copos),para que isso dê certo tenho que esvaziar uma jarra(se despejei um copo em uma jarra,tenho 6 copos e duas jarras cheios portanto 1 copo está vazio),pondo no copo vazio,tudo isso tem uma sequencia:

copo1>jarra1

copo2>jarra2

copo3>jarra3

copo4>jarra1->neste momento irei repetir uma jarra pois são 3 para 8 copos(1 copo apenas por recipiente)

copo5>jarra2

copo6>jarra3

copo7>jarra1

copo1>jarra2->está entendendo?

copo2>jarra3

copo3>jarra1->já foi 10 vezes isso se repetirá infinitamente,mas 10 sequencias já bastam

O que eu quero é colocar o numero do copo que irá para o numero da jarra,e daí o resultado será a sequencia.

numero do copo:1

numero da jarra:2

a sequencia irá continuar

copo2 jarra3,copo3 jarra1,copo4 jarra2.............até dez vezes.

Capiche?

Link para o comentário
Compartilhar em outros sites

  • 0

Fiço uma parte do programa,executando você pode entender.

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

int main()
{
    int a,b;
    printf("dorna:");
    scanf("%d",&a);
    printf("cuba:");
    scanf("%d",&b);
    if(a==1,b==2)
    {
            printf("d2 c3\nd3 c1\nd4 c2\nd5 c3\nd6 c1\nd7 c2\n\n");
    }
    else if(a==2,b==3)
    {
         printf("d3 c1\nd4 c2\nd5 c3\nd6 c1\nd7 c2\nd1 c3\n\n");
    }
    else if(a>2,b==1)
    {
         printf("falso");
    }
   
  system("pause>nul");    
  return 0;
}

Digite 1 para dorna e 2 para cuba,você vai ver o resultado,queria um jeito de simplificar o programa,por que se for fazê-lo dessa maneira por completo ficará grande,tem outra maneira?

Espero que entenda dessa vez,se tiver dúvidas pergunte irei tentar ajudar(o último else if está errado e confuso,está tarde o cansaço me achou,rss) .

Link para o comentário
Compartilhar em outros sites

  • 0

Como faço para o na: ficar paralelo ao nb: e continuamente até 10 vezes,tipo:

na:1 na:2 na:3 na:4 na:5 na:6 na:7 na:1 na:2 na:3

nb:1 nb:2 nb:3 nb:1 nb:2 nb:3 nb:1 nb:2 nb:3 nb:1

ou na vertical,tanto faz.

#include <stdio.h>
#include <stdlib.h>
int main()
{
  int a,b;
  printf("num:");
  scanf("%d",&a);
  printf("numb");
  scanf("%d",&b);
  for(a;a<=7;a++)
  printf("na:%d\t",a);
  for(b;b<=3;b++)
  printf("nb:%d",b);
  system("pause>nul");
  return 0;
}

Por favor me dêem alguma resposta.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --leandroparker --

Saudações Camarada!

Partindo do princípio que o enunciado não está o suficientemente inteligível, tive que deduzir e cheguei ao seguinte raciocínio:

Primeiramente considerei que as 7 dornas estão cheias juntamente com a cuba 1, digitando uma combinação entre uma determinada dorna e uma determinada cuba, o programa apresentará todas as combinações anteriores a que foi digitada, para isso, desenvolvi o seguinte programa:

#include<stdio.h>

main() {

int a,b,c,d;

a=1;

b=2;

printf("Dorna: ");

scanf("%d",&d);

printf("Cuba: ");

scanf("%d",&c);

if((d<=7 && d>0) && (c<=3 && c>0))

while(a!=d || b!=c){

printf("D%d - C%d\n",a,B);

if (a==7)

a=0;

if (b==3)

b=0;

a++;

b++;

}

else {

printf("\nValores incorretos!");

}

getch();

}

O if inicial serve apenas caso seja digitado um valor fora do limite, juntamente com alguns detalhes.

Espero que tenha ajudado, pois também sou iniciante.

Link para o comentário
Compartilhar em outros sites

  • 0

agora eu acho que entedi o que voce quer

aproveitando o código do amigo acima, ve se é isso que voce quer.

#include<stdio.h>
#include<conio.h>

int main() {

   int c,d,i=0;


   printf("Dorna: ");
   scanf("%d",&d);

   printf("Cuba: ");
   scanf("%d",&c);

   if((d<=7 && d>0) && (c<=3 && c>0)){
      if(d<7)
         d++;
      else
         d=1;
      if(c<3)
         c++;
      else
         c=1;

      while(i<10){
         printf("D%d - C%d\n",d,c);
         if (d==7)
            d=0;
         if (c==3)
            c=0;
         d++;
         c++;
         i++;
      }
   }

   else {
      printf("\nValores incorretos!");
   }
   getch();
}

Link para o comentário
Compartilhar em outros sites

  • 0

Felipe,obrigado pelo esforço.

Leandroparker,você tá no caminho certo,mas ao digitar o numero da dorna e o da cuba,apareceu sempre o mesmo resultado,mas você foi quem chegou mais perto.

Kandrade,seu código infelizmente deu um erro ao compilar referido ao guetch();(undefined reference_to guetch)no lccwin32,e também o mesmo erro no devc++.

Acho que agora estão perto,pois entenderam o que passei,estava confuso realmente,cada vez mais vejo quanto a programação é complicada. :huh:

Link para o comentário
Compartilhar em outros sites

  • 0

Saudações Bolt!

Acredito que ainda não estamos nos entendendo por completo. Você deve ser um pouco mais claro nos seus argumentos; quando você diz que os resultados são sempre os mesmos não tenho como concordar com você, pois, compilei esse código no Devc++, deixei que fosse impresso na tela todos os resultados, não só os dez que você sugeriu, assim quando digito dorna 7 e cuba 1 obtenho as vinte combinações anteriores e quando digito dorna 4 e cuba 2 obtenho as três combinações anteriores e por ai vai, sendo assim os resultados não são iguais, a não ser que você esteja se referindo a outra coisa.

Até mais!

Link para o comentário
Compartilhar em outros sites

  • 0

Kandrade,consegui compilar,e realmente eu estava falhando em algum ponto.Quanto ao programa,você acertou na mosca,era exatamente isso que queria,muito obrigado.

Leandroparker,compile o código que kandrade forneceu,assim seu entendimento será melhor que qualquer palavra minha.Muito obrigado mesmo,sem o seu entedimento não seria possível a produção do programa,que até então, ninguém havia compreendido como funcionava(não desmerecendo ninguém,por favor,pois realmente estava complicado). Até +. :D

Link para o comentário
Compartilhar em outros sites

  • 0
Muito obrigado mesmo,sem o seu entedimento não seria possível a produção do programa,que até então, ninguém havia compreendido como funcionava(não desmerecendo ninguém,por favor,pois realmente estava complicado).

realmente estava complicado.

não entendemos porque voce não se expressou legal.

quando se tem um problema de dificil entendimento voce tem que partir para atingir o objetivo do código e não em explicar exatamente qual o problema.

tipo, se voce tivesse dito isso:

tenho 3 jarras e 7 copos, irei informar inicialmente o número do copo e o número da jarra que ele será despejado.

apartir disso o próximo copo será despejado na próxima jarra fazendo isso 10 vezes e quando chegar a jarra 3 volta a jarra 1 e quando chegar ao copo 7 volta ao copo 1.

ficaria bem mais fácil de entender :D

abraço!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Fiço o mesmo programa em C++,mas notei um problema,e não sei como reparar.

O código é esse:

#include<iostream>
using namespace std;
int main()
{
    int a,b,c=0;
    cout<<"Dorna:";
    cin>>a;
    cout<<"Cuba:";
    cin>>b;
    cout<<"Cada vez que a tecla [ENTER] for pressionada,\nsera dada a proxima sequencia ate 10 vezes\n\n\n";
    if((a<=7 && a>0)&&(b<=3 && b>0))
    {
       if(a<7)
       a++;
       else
       a=1;
       if(b<3)
       b++;
       else
       b=1;
       while(c<10)
       {
           cin.ignore();
           if(a==7)
           a=0;
           a++;
           if(b==3)
           b=0;
           b++;
           c++;
           cout<<"Dorna->"<<a<<"\tCuba->"<<b<<"\n";
       }
    }
       else
       {
           cout<<"Valores incorretos";
       }
      system("pause");
      return 0;
}

Quando digito por ex. dorna 1 cuba 1 ,o resultado é dorna 3 cuba 3,ele salta uma sequência,como se a memória reservada para esse espaço estivesse cheia.

O resto funciona perfeitamente bem,como posso fazer para digitar dorna 1 cuba 1 e o resultado for dorna 2 cuba 2.T+ ^_^

Link para o comentário
Compartilhar em outros sites

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