Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

A cada número n lido, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#" - Exercícios Resolvidos de C

Quantidade de visualizações: 596 vezes
Pergunta/Tarefa:

Escreva um programa C que solicita ao usuário 10 números inteiros positivos maiores que 0. Use um vetor de inteiros para guardar estes números.

Percorra o vetor e, para cada número, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#". Seu código deverá, obrigatoriamente, usar o laço for (talvez laços aninhados).

Sua saída deverá ser parecida com:

Informe o 1.o: 7
Informe o 2.o: 2
Informe o 3.o: 5
Informe o 4.o: 13
Informe o 5.o: 3
Informe o 6.o: 8
Informe o 7.o: 7
Informe o 8.o: 1
Informe o 9.o: 10
Informe o 10.o: 6

#######
##
#####
#############
###
########
#######
#
##########
######
Resposta/Solução:

Veja a resolução comentada deste exercício usando C:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

#define TAM_VETOR 10 

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int valores[TAM_VETOR];
  int i, j, n;
	
  setlocale(LC_ALL,""); // para acentos do português
    
  // vamos pedir para o usuário informar 10 números inteiros e
  // vamos guardá-los no vetor
  for(i = 0; i < TAM_VETOR; i++){
    printf("Informe o %d.o: ", (i + 1));
    scanf("%d", &valores[i]);
  }
  
  // agora vamos exibir o histograma de cada número
  printf("\n");
  for(i = 0; i < TAM_VETOR; i++){
    n = valores[i];
		
    if(n > 0){
      for(j = 0; j < n; j++){
        printf("#");
      }	
      printf("\n");
    }
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Matemática e Estatística

Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionária

Quantidade de visualizações: 9928 vezes
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

double modf(double x, double * intpart);

O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário.

Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  double valor = 34.27;
  
  // vamos separar o valor em suas partes inteira e fracionária
  double inteira = 0.0, fracionaria = 0.0;
  fracionaria = modf(valor, &inteira);
  
  // vamos exibir o resultado
  printf("Parte inteira: %f\n", inteira);
  printf("Parte fracionaria: %f\n", fracionaria);
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executarmos este código teremos o seguinte resultado:

Parte inteira: 34.000000
Parte fracionária: 0.270000


C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como pesquisar um valor em um vetor de inteiros em C

Quantidade de visualizações: 9345 vezes
Em algumas situações precisamos verificar se um determinado valor está contido em uma matriz de inteiros em C. Nesta dica eu mostro como isso pode ser feito usando a pesquisa ou busca linear. Veja o código completo comentado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  // vamos declarar e inicializar uma matriz de cinco inteiros
  int valores[] = {3, 8, 2, 1, 4};
  int encontrei = 0; // vamos inicializar encontrei como falso
  int i; // variável de controle do laço
  
  int valor = 2; // valor a ser pesquisado
  
  // vamos percorrer os elementos da matriz e verificar se o valor
  // informado está contido na mesma
  for(i = 0; i < 5; i++){
    // o valor pesquisado é igual ao valor do elemento atual?
    if(valores[i] == valor){
      encontrei = 1; // encontrei agora é verdadeiro
      break; // vamos sair do laço              
    }      
  }
  
  // vamos mostrar o resultado
  if(encontrei)
    printf("O valor pesquisado esta contido na matriz");
  else
    printf("O valor pesquisado NAO esta contido na matriz");  
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executar este trecho de código teremos o seguinte resultado:

O valor pesquisado está contido na matriz.


C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em C usando a função sin()

Quantidade de visualizações: 11520 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem C. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <math.h>  
  
int main(int argc, char *argv[]){
  printf("Seno de 0 = %f", sin(0));
  printf("\nSeno de 1 = %f", sin(1));
  printf("\nSeno de 2 = %f", sin(2)); 
   
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Seno de 0 = 0.000000
Seno de 1 = 0.841471
Seno de 2 = 0.909297

Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 43 usuários muito felizes estudando em nosso site.