Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Faça um programa para retornar os valores de uma matriz 3x3 de números inteiros. Depois da leitura dos dados - Desafio de Programação Resolvido em CQuantidade de visualizações: 1719 vezes |
Pergunta/Tarefa: Faça um programa para obter os valores de uma matriz 3x3 de números inteiros. Depois da leitura dos dados, o programa deve calcular a soma dos elementos da diagonal principal. Em seguida ele deve mostrar os valores da matriz e o da soma. Sua saída deverá ser parecida com: Valor para a linha 0 e coluna 0: 1 Valor para a linha 0 e coluna 1: 4 Valor para a linha 0 e coluna 2: 7 Valor para a linha 1 e coluna 0: 12 Valor para a linha 1 e coluna 1: 9 Valor para a linha 1 e coluna 2: 8 Valor para a linha 2 e coluna 0: 5 Valor para a linha 2 e coluna 1: 10 Valor para a linha 2 e coluna 2: 14 Valores na matriz 1 4 7 12 9 8 5 10 14 A soma dos elementos da diagonal principal é: 24 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> int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português int matriz[3][3]; // uma matriz de três linhas e três colunas int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal int i, j; // vamos ler os valores para os elementos da matriz for(i = 0; i < 3; i++){ // linhas for(j = 0; j < 3; j++){ // colunas printf("Valor para a linha %d e coluna %d: ", i, j); scanf("%d", &matriz[i][j]); } } // vamos mostrar a matriz da forma que ela foi informada printf("\nValores na matriz\n\n"); for(i = 0; i < 3; i++){ for(j = 0; j < 3; j++){ printf("%5d ", matriz[i][j]); } // passa para a próxima linha da matriz printf("\n"); } // vamos calcular a soma dos elementos da diagonal principal for(i = 0; i < 3; i++){ for(j = 0; j < 3; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } printf("\nA soma dos elementos da diagonal principal é: %d", soma_diagonal); printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Linguagem C para iniciantes - Como usar estruturas (struct) em CQuantidade de visualizações: 68246 vezes |
Vetores e matrizes (arrays) são muito importantes quando precisamos agrupar várias variáveis de um mesmo tipo de dados. Porém, há casos em que precisamos agrupar variáveis de diferentes tipos. Para estes casos a linguagem C nos fornece as estruturas (struct). Veja como declará-las:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // uma estrutura Pessoa struct Pessoa { char *nome; int idade; }; Veja que esta estrutura possui dois tipos de dados diferentes: um ponteiro para uma cadeia de caracteres e uma variável do tipo int. Para declarar variáveis do tipo Pessoa você tem duas opções. A primeira consiste em declarar as variáveis juntamente com a declaração da estrutura. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // uma estrutura Pessoa struct Pessoa { char *nome; int idade; }pessoa, cliente, chefe; A outra forma consiste em declarar a variável no local no qual ela será usada. Esta forma é mais prática. Veja um exemplo completo de como isso é feito: ---------------------------------------------------------------------- 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> // uma estrutura Pessoa struct Pessoa { char *nome; int idade; }; int main(int argc, char *argv[]) { // declara uma variável do tipo struct struct Pessoa cliente; cliente.nome = "Osmar J. Silva"; cliente.idade = 36; // obtém os dados printf("O nome do cliente e: %s\n", cliente.nome); printf("A idade do cliente e: %d\n", cliente.idade); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar protótipos de função em CQuantidade de visualizações: 12136 vezes |
Um protótipo de função é uma declaração que define o nome, tipos de parâmetros e tipos de retorno de uma função. Em geral o protótipo de uma função é exigido quando a definição da função não é feita antes do código que efetua uma chamada a ela. Veja um exemplo:---------------------------------------------------------------------- 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> // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } Este código compila e executa normalmente, uma vez que a função somar() foi definida antes da função main(), ou seja, antes da parte do programa que possui uma chamada a ela. Veja agora esta nova versão: ---------------------------------------------------------------------- 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[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } Aqui temos um problema: a função somar() é definida depois do código contendo uma chamada a ela. No Dev-C++ temos o seguinte erro de compilação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- `somar` undeclared (first use this function) A solução para este casos é a criação do protótipo da função. Para a função somar() isso pode ser feito da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // protótipo da função somar() int somar(int, int); Note que não há a necessidade de especificar os nomes dos parâmetros da função, apenas seus tipos. Veja ainda que o protótipo da função é terminado com ponto-e-vírgula e sempre colocado após as instruções de #include. Veja o código completo para um exemplo usando protótipos de funções: ---------------------------------------------------------------------- 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> // protótipo da função somar() int somar(int, int); int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos - C BásicoQuantidade de visualizações: 2806 vezes |
Pergunta/Tarefa: Escreva um programa C que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Lembre-se que você deverá usar apenas os operadores matemáticos e o operador de módulo (%). Seu programa deverá exibir a seguinte saída: Informe um valor inteiro (0-999): 523 A soma dos dígitos é: 10 Veja a resolução comentada deste exercício usando C console: ---------------------------------------------------------------------- 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 solicitar ao usuário que informe um valor inteiro // na faixa 0 a 999 (incluindo) printf("Informe um valor inteiro (0-999): "); // vamos ler o valor informado int valor; scanf("%d", &valor); // vamos verificar se o valor está na faixa permitida if(valor < 0 || valor > 999){ puts("Valor fora da faixa permitida"); } else{ // vamos obter o terceiro dígito int terceiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o segundo dígito int segundo = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o primeiro dígito int primeiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter a soma dos dígitos int soma = terceiro + segundo + primeiro; // vamos mostrar o resultado printf("A soma dos dígitos é: %d", soma); } printf("\n\n"); system("PAUSE"); return 0; } |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |