Jump to content
Brunopro

Dificuldade em exercicios de C++

Recommended Posts

Brunopro

Boa noite Pessoal, estou a iniciar-me em programação e estou numa formação de 50 h em C++, neste momento estou com 30h de formação e o meu formador passou 50 exercícios para irmos fazendo... E não estou a conseguir desenvolver 2 dos exercícios que ele indicou para fazer será que podem me dar uma ajuda? Um comecei a desenvolver mas algo está errado o outro não sei nem por onde começar, pois nem entendo muito bem o enunciado..

Exerc 1 - Crie um programa que permite calcular a média de uma sequência de valores inseridos pelo utilizador. A sequência termina obrigatoriamente com a inserção de um 0 que não deverá
contar para a avaliação da média.

Feito :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <iostream>
#include <locale>
using namespace std;

int main()
{
setlocale(LC_ALL, "Portuguese");
    cout << "Cálculo a média de valores inseridos e terminar com 0. \n\n";
    
    int num=0, media; 
    while (num !=0){
    cout << "Inserir número: ";
    cin >> num;
    
media= (num+num)/num;
}

cout << "A média é " << media;

return 0;
}

 

Segundo exercicio nem sei por onde começar..

O resultado da divisão inteira de um número inteiro por outro número inteiro pode sempre ser obtido utilizando-se apenas o operador de subtração. Assim, se quisermos calcular (7/2),
basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o resultado seja menor do que o dividendo. O número de subtrações realizadas corresponde ao quociente inteiro, conforme o exemplo seguinte:
7 - 2 = 5
5 - 2 = 3
3 - 2 = 1
Descreva um programa para o cálculo da divisão de um inteiro pelo outro. Note que se o dividendo for zero, esta é uma operação matematicamente indefinida.

 

Obrigado

Share this post


Link to post
Share on other sites
Brunopro

E neste também não dá certo... superando estes 3 está pronto....

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <iostream>
#include <locale>
using namespace std;

int main() 
{
  setlocale(LC_ALL, "Portuguese");
  system ("color 1B");
  int n,a,b,c;
   cout << "Insira um número de 0 a 99 e o retorno seja o número por extenso\n";
   cout << "Insira o número : ";
   cin >> n;
   {
   
  switch (a)
  {
        case 0 : cout << "zero"; break;      
          case 1 : cout <<"um"; break;
        case 2 : cout <<"dois"; break;
        case 3 : cout <<"tres"; break;
        case 4 : cout <<"quatro"; break;
        case 5 : cout <<"cinco"; break;
        case 6 : cout <<"seis"; break;
        case 7 : cout <<"sete"; break;
        case 8 : cout <<"oito"; break;
        case 9 : cout <<"nove"; break;
    
    }
    switch (b)
    {
        case 0 : cout <<"dez"; break;
        case 1 : cout <<"onze"; break;
        case 2 : cout <<"doze"; break;
        case 3 : cout <<"treze"; break;
        case 4 : cout <<"catorze"; break;
        case 5 : cout <<"quinze"; break;
        case 6 : cout <<"dezesseis"; break;
        case 7 : cout <<"dezassete"; break;
        case 8 : cout <<"dezoito"; break;
        case 9 : cout <<"dezanove"; break;
    }
    
    switch (c)
    {
        
        case 2 : cout <<"vinte"; break;
        case 3 : cout <<"trinta"; break;
        case 4 : cout <<"quarenta"; break;
        case 5 : cout <<"cinquenta"; break;
        case 6 : cout <<"sessenta"; break;
        case 7 : cout <<"setenta"; break;
        case 8 : cout <<"oitenta"; break;
        case 9 : cout <<"noventa"; break;
   }
}
   
   {
   
   if (n >=20 && n<100)
   cout << c << a;
}
{

   if ( n>10 && n<20)
   cout <<b;
}
{

   if (n<=10)
   cout <<a << c;
}
   return 0;
}

 

Share this post


Link to post
Share on other sites
jonhhy
12 horas atrás, Brunopro disse:

Boa noite Pessoal, estou a iniciar-me em programação e estou numa formação de 50 h em C++, neste momento estou com 30h de formação e o meu formador passou 50 exercícios para irmos fazendo... E não estou a conseguir desenvolver 2 dos exercícios que ele indicou para fazer será que podem me dar uma ajuda? Um comecei a desenvolver mas algo está errado o outro não sei nem por onde começar, pois nem entendo muito bem o enunciado..

Exerc 1 - Crie um programa que permite calcular a média de uma sequência de valores inseridos pelo utilizador. A sequência termina obrigatoriamente com a inserção de um 0 que não deverá
contar para a avaliação da média.

Feito :


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <iostream>
#include <locale>
using namespace std;

int main()
{
setlocale(LC_ALL, "Portuguese");
    cout << "Cálculo a média de valores inseridos e terminar com 0. \n\n";
    
    int num=0, media; 
    while (num !=0){
    cout << "Inserir número: ";
    cin >> num;
    
media= (num+num)/num;
}

cout << "A média é " << media;

return 0;
}

 

Segundo exercicio nem sei por onde começar..

O resultado da divisão inteira de um número inteiro por outro número inteiro pode sempre ser obtido utilizando-se apenas o operador de subtração. Assim, se quisermos calcular (7/2),
basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o resultado seja menor do que o dividendo. O número de subtrações realizadas corresponde ao quociente inteiro, conforme o exemplo seguinte:
7 - 2 = 5
5 - 2 = 3
3 - 2 = 1
Descreva um programa para o cálculo da divisão de um inteiro pelo outro. Note que se o dividendo for zero, esta é uma operação matematicamente indefinida.

 

Obrigado

Parece-me a mim, que o teu programa não entrava no ciclo (pois num = 0 e para entra este tem de ser igual a zero).

Daí a média retorna o valor que está armazenado (lixo) na posição de memória correspondente à variável.

Sugiro este código:
<script src="//onlinegdb.com/embed/js/rkf63hKMS?theme=dark"></script>


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


using namespace std;

int main()
{
setlocale(LC_ALL, "Portuguese");
    cout << "Cálculo a média de valores inseridos e terminar com 0. \n\n";
    
    int contador=0, num, media, soma=0; 
    while (num !=0){
    cout << "Inserir número: ";
    cin >> num;
    soma += num;
    contador++;
}
    media = soma/(contador-1); //removemos o valor Zero lido

cout << "A média é " << media;

return 0;
}


https://onlinegdb.com/rkf63hKMS

alguma dúvida questiona  ;) 

Edited by jonhhy

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.