Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

shiftz

Ciclo para parar quando obter um par de 0

Mensagens Recomendadas

shiftz

#include <stdio.h>
int multiplo(int i1, int i2);
int main(){
 int i1,i2;
 scanf("%d,%d", &i1, &i2);
 while(i1!=0 && i2!=0){
scanf("%d,%d", &i1, &i2);
if(multiplo(i1, i2)){
	  printf("%d e %d sao multiplos\n", i1, i2);
}
 }
}
int multiplo(int i1, int i2){
 if(i1==0 || i2==0) return 1;
 else if(i2%i1==0 || i1%i2==0){
return 1;
 }
 else return 0;
}

a ideia é fazer printf se as variaveis forem multiplas, se eu fizer input com 2, 4 então dá um output absurdo, ou seja 4,-12363636 uma coisa assim

alguem me explica o que estou a fazer mal?

Editado por Rui Carlos
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

só isso e mais nada ?

é que quando olho para este bocado de código não é isso que vejo

 scanf("%d,%d", &i1, &i2);
 while(i1!=0 && i2!=0){
   scanf("%d,%d", &i1, &i2);


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

basicamente é uma sequencia que é terminada por 0,0, percebes?

então o que escreves não é o que respondeste anteriormente:

escrevo 2,4

diz exactamente tudo que escreves na consola


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

basicamente é uma sequencia que é terminada por 0,0, percebes?

while(i1!=0 && i2!=0){

Esta condição não vai terminar com o input "0,0" mas sim com qualquer input em que um dos valore seja 0, como "0,2" ou "9,0".


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Bernardo Vieira

@HappyHippyHippo, sim, é que, supostamente o primeiro scanf, aguarda os valores introduzidos, e o segundo while faz o mesmo! :o

confuso! eu acho

@shiftz

tu nao precisas de tanta coisa

basta

OBTER NUMEROS
SE resto é 0
   "sao multiplos"
SENAO
   "nao sao multiplos"

Editado por Bernardo Vieira

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.