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

Dúvida - Saída


Luizx

Pergunta

Pessoal,

 

Gostaria de uma orientação em relação a esse algoritmo:

Faça um programa que leia dois números inteiros, representando os valores inicio e fim de um intervalo e imprima os múltiplos de 5 entre eles.

Dois números inteiros, n e m, separados por um espaço.

Todos os múltiplos de 5, maiores ou iguais a n e menores ou iguais a m, separados pelo caractere '|'. Note que depois do último múltiplo, não existe o caractere '|'.

 

A entrada deve ser assim: 7 30 e saída assim:  10|15|20|25|30

 

Já fiz de tudo quanto é jeito pra retirar esse "|" do final mas não tenho a menor ideia. Segue o meu algoritmo (simples):

#include <iostream>

using namespace std;
main(){
    
    int i=10, n, m;
    cin >> n;
    cin >> m;
    do {
            i= i + 5;
        cout << i-5<<"|";
    }
    while (i>=n && i<=m);
        
        
        
        
        }

 

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

 #include <iostream>

using namespace std;
main(){
    
    int i=10, n, m;
    cin >> n;
    cin >> m;
    do {
            i= i + 5;
        cout << i-5;
        if(i<=m){
            cout<<"|";
        }
    }
    while (i>=n && i<=m);
        
        
        
       

Link para o comentário
Compartilhar em outros sites

  • 0
20 horas atrás, JeanR disse:

 #include <iostream>

using namespace std;
main(){
    
    int i=10, n, m;
    cin >> n;
    cin >> m;
    do {
            i= i + 5;
        cout << i-5;
        if(i<=m){
            cout<<"|";
        }
    }
    while (i>=n && i<=m);
        
        
        
       

JeanR,

Atualizei o algoritmo pra este aqui:

#include <iostream>
#include <cstdio>
using namespace std;

main ()
{
    int m,n;
    cin >> m;
    cin >> n;
    for (int i=1;i<=n;i++)
        {
        if (i%5==0)
        
            if(i>=m&&i<n)
            {
              printf("%d|", i);}
            else if(i==n) {
              printf("%d", i);}
            
}

 

Porém estou com um pequeno problema, por exemplo, se eu entrar com 7 a 30 por exemplo, resultado será: 10|15|20|25|30  , da mesma forma que eu entrar de 1 a 5: 5, porém se eu colocar de 2 a 9, ele tá trazendo: 5| e não 5, já tentei de tudo e nada. Eu já tentei como 19 a 29 onde era pra trazer: 20|25 sem o pipe no final, porém traz 20|25|. 

Link para o comentário
Compartilhar em outros sites

  • 0

eae luiz estou no computador da universidade não da pra entrar pela minha conta do fb
Veja se isto resolve seu problema:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int m,n,inicio=0,fim=0;
    cin>>m;
    cin>>n;
    for(int i=m;i<=n;i++){
        if(i%5==0 && inicio==0){
            inicio=i;
        }
        if(i%5==0){
            fim=i;
        }
    }
    for(int i=inicio;i<=fim;i++){
        if(i%5==0){
        if(i==fim){
           printf("%d",i);
        }else
            printf("%d|",i);
        }
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0
26 minutos atrás, JeanRamos disse:

eae luiz estou no computador da universidade não da pra entrar pela minha conta do fb
Veja se isto resolve seu problema:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int m,n,inicio=0,fim=0;
    cin>>m;
    cin>>n;
    for(int i=m;i<=n;i++){
        if(i%5==0 && inicio==0){
            inicio=i;
        }
        if(i%5==0){
            fim=i;
        }
    }
    for(int i=inicio;i<=fim;i++){
        if(i%5==0){
        if(i==fim){
           printf("%d",i);
        }else
            printf("%d|",i);
        }
    }
}

Vlw, Jean!!! \°/  Deu certo!!!

 

Muito obrigado cara...

Link para o comentário
Compartilhar em outros sites

  • 0
Em 14/04/2016 at 11:18, JeanRamos disse:

de nada man

Jean, eu tô com um problema que eu nunca vi antes, o algoritmo da área de um círculo sendo que a area em m². Eu tô fazendo correto, segue:

 

#include <iostream>
#define PI 3.14159
#include <cstdio>
#include <math.h>

using namespace std;
main()
{
    int x;
    float area,z;
    cin >> x;
    area = PI*(x*x);
    z = area/10000;
    printf("Area = %.4f",z);
}
 

Porém tá dando o erro seguinte:  Sabia que ponto flutuante não significa o ponto estar no céu? 

Tem segundo que ele pergunta se o número é perfeito e apresentar esse número, fiz o algoritmo:

#include <iostream>
#include <stdio.h>
using namespace std;
main()
{
 int n, k, soma=0, i; 
    cin >> n; 
    for (k=1; k<n; k++) { 
    soma = 0; 
        for (i=1; i<k; i++) 
            if (k % i == 0) 
            soma += i; 
                if (k == soma) 
            printf("%d", k); 
                                }
}

Mas ele tá apresentando o seguinte:  Esse problema é interessante. Para cada número menor que o número dado, você deve verificar se ele é perfeito e, se for, imprimí-lo. A impressão deve ser do menor para o maior. Ou seja, comece testando os números menores.

Link para o comentário
Compartilhar em outros sites

  • 0

A principio, não entendi bem o que voce quis dizer o erro seguinte:  Sabia que ponto flutuante não significa o ponto estar no céu?  (isso parece mais uma informação do que um erro kk) o programa esta rodando e funcionando normalmente aqui
o segundo
for (k=1; k<n; k++) { //note que k recebe1
    soma = 0; 
        for (i=1; i<k; i++) 
//i=1 e k=1 então ele encerra o laço sem executar nada e volta no laço do k e incrementa ele agora k vale 2 ai ele verifica I<2 não então ele encerra o laço e por ai vai.
para exibir somente se e perfeito esse algoritmo resolve:

#include<iostream>
using namespace std;
int main(){
    int num,i;
    int soma=0;
    cin>>num;
    for(i=1;i<num;i++){
        if(num%i==0){
            soma+=i;    
        }
    }
    if(num==soma){
        cout<<"e perfeito: "<<num;
    }else
        cout<<"não e perfeito: "<<num;
}
vou criar uma logica para verificar se os numeros menores que ele são perfeitos se csg eu posto aqui, se voce já tiver resolvido o problema avise também bel
 

Link para o comentário
Compartilhar em outros sites

  • 0
29 minutos atrás, JeanR disse:

A principio, não entendi bem o que voce quis dizer o erro seguinte:  Sabia que ponto flutuante não significa o ponto estar no céu?  (isso parece mais uma informação do que um erro kk) o programa esta rodando e funcionando normalmente aqui
o segundo
for (k=1; k<n; k++) { //note que k recebe1
    soma = 0; 
        for (i=1; i<k; i++) 
//i=1 e k=1 então ele encerra o laço sem executar nada e volta no laço do k e incrementa ele agora k vale 2 ai ele verifica I<2 não então ele encerra o laço e por ai vai.
para exibir somente se e perfeito esse algoritmo resolve:

#include<iostream>
using namespace std;
int main(){
    int num,i;
    int soma=0;
    cin>>num;
    for(i=1;i<num;i++){
        if(num%i==0){
            soma+=i;    
        }
    }
    if(num==soma){
        cout<<"e perfeito: "<<num;
    }else
        cout<<"não e perfeito: "<<num;
}
vou criar uma logica para verificar se os numeros menores que ele são perfeitos se csg eu posto aqui, se voce já tiver resolvido o problema avise também bel
 

CONSEGUI
#include<iostream>
using namespace std;
int main(){
    int num,i,k;
    int soma=0,result=0;
    cin>>num;
    for(i=1;i<num;i++){
        if(i!=1){
            for(k=1;k<i;k++){
                if(i%k==0){
                    result+=k;
                }
                if(result==i && k==i-1){
                    cout<<"e perfeito: "<<i<<"\n";
                }
            }
        }
        result=0;
        if(num%i==0){
            soma+=i;
        }
            
    }
        
    if(num==soma){
        cout<<"e perfeito: "<<num;
    }else
        cout<<"não e perfeito: "<<num;
}

ESPERO TER AJUDADO :D

Link para o comentário
Compartilhar em outros sites

  • 0
21 horas atrás, JeanR disse:

CONSEGUI
#include<iostream>
using namespace std;
int main(){
    int num,i,k;
    int soma=0,result=0;
    cin>>num;
    for(i=1;i<num;i++){
        if(i!=1){
            for(k=1;k<i;k++){
                if(i%k==0){
                    result+=k;
                }
                if(result==i && k==i-1){
                    cout<<"e perfeito: "<<i<<"\n";
                }
            }
        }
        result=0;
        if(num%i==0){
            soma+=i;
        }
            
    }
        
    if(num==soma){
        cout<<"e perfeito: "<<num;
    }else
        cout<<"não e perfeito: "<<num;
}

ESPERO TER AJUDADO :D

Rapaz, eu não sei o que fazer mais, já tô ficando doido com esse algoritmo. Ele tá informando a mesma coisa. Bom, mas vlw pela a ajuda, tô aqui tentando em que estou errando. 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Use uma variável auxiliar num comando condicional fera!

 Veja como é simples:

#include <iostream>

using namespace std;

int main ()

{

int i, j, n, m;

cout << "Digite o valor de n: "<< endl;
cin >> n;

cout << "Digite o valor de m: " << endl;
cin >> m;

cout << "\n";

j=0;

for (i=n; i<=m; i++)

    {

        if (i%5==0)

            {

                if (j==0)

                cout << i;

                else

                cout << "|" << i;

                j++;

            }

    }

    cout << "\n";

return 0;
}

Abraços e bons estudos!

Esse já foi resolvido, lol. Vou ajudar no outro.

Link para o comentário
Compartilhar em outros sites

  • 0

Area = PI * raio².

Então: 

 

#include <iostream>
#define PI 3.14

using namespace std;

int main()

{
    int raio;

    float area=0;

    cout << "Digite o valor do raio: " << endl;
    cin >> raio;

    area = PI*(raio*raio);

    cout << "Area = " << area << "m²"<< endl;

    return 0;
}

 

Calcular se um número é perfeito:

#include <iostream>

using namespace std;

int main()

{

int SomaDivisores=0, NumeroTeste, i;

cout << "Digite um numero para testar se é perfeito: ";

cin >> NumeroTeste;

    for (i=1; i<NumeroTeste; i++)

    {



        if (NumeroTeste%i==0)

            {

            SomaDivisores+=i;

            }

    }

    if (SomaDivisores==NumeroTeste)

        {

        cout << "A soma dos divisores do numero " << NumeroTeste << " com excecao dele mesmo é " << SomaDivisores << endl;

        cout << "Logo, " << NumeroTeste << " é um numero perfeito" << endl;

        }

    else

        {

        cout << "A soma dos divisores do numero " << NumeroTeste << " com excecao dele mesmo é " << SomaDivisores << endl;

        cout << "Logo, " << NumeroTeste << " não é um numero perfeito" << endl;


        }

return 0;

}

Abraços e bons estudos.

Link para o comentário
Compartilhar em outros sites

  • 0

Vlw, 

13 horas atrás, Aristóteles disse:

Area = PI * raio².

Então: 

 


#include <iostream>
#define PI 3.14

using namespace std;

int main()

{
    int raio;

    float area=0;

    cout << "Digite o valor do raio: " << endl;
    cin >> raio;

    area = PI*(raio*raio);

    cout << "Area = " << area << "m²"<< endl;

    return 0;
}

 

Calcular se um número é perfeito:


#include <iostream>

using namespace std;

int main()

{

int SomaDivisores=0, NumeroTeste, i;

cout << "Digite um numero para testar se é perfeito: ";

cin >> NumeroTeste;

    for (i=1; i<NumeroTeste; i++)

    {



        if (NumeroTeste%i==0)

            {

            SomaDivisores+=i;

            }

    }

    if (SomaDivisores==NumeroTeste)

        {

        cout << "A soma dos divisores do numero " << NumeroTeste << " com excecao dele mesmo é " << SomaDivisores << endl;

        cout << "Logo, " << NumeroTeste << " é um numero perfeito" << endl;

        }

    else

        {

        cout << "A soma dos divisores do numero " << NumeroTeste << " com excecao dele mesmo é " << SomaDivisores << endl;

        cout << "Logo, " << NumeroTeste << " não é um numero perfeito" << endl;


        }

return 0;

}

Abraços e bons estudos.

Vlw, Aristóteles...essa do círculo já resolvi da seguinte forma:

#include <iostream>
#include <iomanip>
using namespace std;

main() {
double A, p = 3.14159, R;
cin >> R;
A = p * R * R;
cout << fixed << setprecision(4);
cout << "Area = " << A/10000;
}

 

Caso queira saber de onde estou tirando esses algoritmos o site é o: www.thehuxley.com   , uma plataforma utilizada por universidades federais e institutos federais, lá tem desde simples algoritmos até projetos a serem resolvidos. Os mesmos servem também pra treinamento pra olimpíadas de programação. As linguagems são: C, C++, Octave, Java, etc. 

 

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...