Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Como desenhar uma pirâmide de números em C com números repetindo nas linhas - Desafio de Programação Resolvido em CQuantidade de visualizações: 475 vezes |
Pergunta/Tarefa: Escreva um programa C que usa laços for aninhados para desenhar a pirâmide de números representada abaixo. Note que este padrão usa o número da linha repetido em cada uma as linhas. No site você encontrará padrões diferenciados deste exercício. Informe a quantidade de linhas da pirâmide: 6 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 Veja a resolução comentada deste exercício em 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> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int contador_linhas, quant_linhas, i, j; // precisamos de um contador de linhas da pirâmida contador_linhas = 1; // vamos ler a quantidade de linhas da pirâmide printf("Informe a quantidade de linhas da pirâmide: "); scanf("%d", &quant_linhas); // um laço for que começa na quantidade de linhas informada // pelo usuário e reduz até 0 printf("\n"); for (i = quant_linhas; i > 0; i--){ // imprimimos i espaços no início de cada linha for (j = 1; j <= i; j++){ printf(" "); } // agora imprimimos o valor do contador de linhas da pirâmide // no final de cada linha for (j = 1; j <= contador_linhas; j++){ printf("%d ", contador_linhas); } // pulamos para a próxima linha printf("\n"); // e aumentamos o contador de linhas contador_linhas++; } printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunosQuantidade de visualizações: 2779 vezes |
Pergunta/Tarefa: Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles. Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno: // estrutura Aluno typedef struct{ int matricula; char nome[100]; float nota1; float nota2; } Aluno; LEITURA DOS ALUNOS: Matrícula do Aluno 1: 123 Nome do Aluno 1: OSMAR J SILVA Nota 1 do Aluno 1: 8,5 Nota 2 do Aluno 1: 9,3 Matrícula do Aluno 2: 432 Nome do Aluno 2: FABIANA CASTRO Nota 1 do Aluno 2: 9 Nota 2 do Aluno 2: 8,2 DADOS DOS ALUNOS: DADOS DO ALUNO 1: Matrícula: 123 Nome: OSMAR J SILVA Nota 1: 8,50 Nota 2: 9,30 Média: 8,90 DADOS DO ALUNO 2: Matrícula: 432 Nome: FABIANA CASTRO Nota 1: 9,00 Nota 2: 8,20 Média: 8,60 Veja a resolução comentada deste exercício usando C: Código para alunos.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> // estrutura Aluno typedef struct{ int matricula; char nome[100]; float nota1; float nota2; } Aluno; // define a quantidade de alunos que serão lidos #define QUANT_ALUNOS 2 int main(int argc, char *argv[]) { int i; // controle do laço Aluno alunos[QUANT_ALUNOS]; // vetor de alunos setlocale(LC_ALL,""); // para acentos do português printf("LEITURA DOS ALUNOS:\n\n"); for(i = 0; i < QUANT_ALUNOS; i++){ // vamos ler a matrícula do aluno printf("Matrícula do Aluno %d: ", (i + 1)); scanf("%d", &alunos[i].matricula); fflush(stdin); // para o scanf não sair pulando o gets // agora o nome do aluno printf("Nome do Aluno %d: ", (i + 1)); gets(alunos[i].nome); // vamos ler a primeira nota printf("Nota 1 do Aluno %d: ", (i + 1)); scanf("%f", &alunos[i].nota1); // vamos ler a segunda nota printf("Nota 2 do Aluno %d: ", (i + 1)); scanf("%f", &alunos[i].nota2); } // agora vamos mostrar os alunos lidos, com suas notas // e suas médias aritméticas printf("\nDADOS DOS ALUNOS:\n"); for(i = 0; i < QUANT_ALUNOS; i++){ printf("\nDADOS DO ALUNO %d:\n ", (i + 1)); printf("Matrícula: %d\n", alunos[i].matricula); printf("Nome: %s\n", alunos[i].nome); printf("Nota 1: %.2f\n", alunos[i].nota1); printf("Nota 2: %0.2f\n", alunos[i].nota2); printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2); } printf("\n\n"); system("pause"); return 0; } |
C ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados boolean nas linguagens C e C++ - Como usar true (verdadeiro) e false (false) em C/C++Quantidade de visualizações: 18417 vezes |
Em praticamente todas as linguagens de programação nós encontramos expressões condicionais que definem o fluxo de execução. Expressões condicionais são aquelas que, quando avaliadas, resultam em um valor true (verdadeiro) ou false (falso). Muitas linguagens de programação possuem um tipo booleano que armazena os valores true ou false. Enquanto o C++ possui o tipo bool, o C possui uma forma bem interessante de definir true ou false. Em C, um valor true é qualquer valor diferente de 0, incluindo numeros negativos. 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> int main(int argc, char *argv[]) { int pode = 1; // verdadeiro int nao_pode = 0; // falso if(pode) printf("Teste resultou verdadeiro\n\n"); if(!nao_pode) printf("Teste resultou verdadeiro\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: Teste resultou verdadeiro Teste resultou verdadeiro Lembre-se então: false em C é o valor zero. Qualquer outro valor é true. Embora C++ já possua o tipo bool, é possível usar a abordagem do zero para false e qualquer outro valor para true em C++ também. Você verá muito código legado usando este artifício. Quer ver algo interessante agora? Execute o seguinte código C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ bool pode = true; bool nao_pode = false; cout << pode << "\n"; cout << nao_pode << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Nos compiladores que obedecem o C++ padrão você verá os valores 1 e 0 serem impressos. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em C - C para Matemática e EstatísticaQuantidade de visualizações: 6290 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código C completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: ---------------------------------------------------------------------- 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> // função principal do programa int main(int argc, char *argv[]){ // conjunto dos dados float conjunto[] = {10, 30, 90, 30}; float soma = 0.0; // soma dos elementos float desvio_padrao = 0.0; // desvio padrão int tam = 4; // tamanho dos dados int i; float media; // vamos somar todos os elementos for(i = 0; i < tam; i++){ soma = soma + conjunto[i]; } // agora obtemos a média do conjunto de dados media = soma / tam; // e finalmente obtemos o desvio padrão for(i = 0; i < tam; i++){ desvio_padrao = desvio_padrao + pow(conjunto[i] - media, 2); } // mostramos o resultado printf("Desvio Padrão Populacional: %f\n", sqrt(desvio_padrao / tam)); printf("Desvio Padrão Amostral: %f", sqrt(desvio_padrao / (tam - 1))); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software 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 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 |