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: 1585 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; } |
Link para compartilhar na Internet ou com seus amigos: |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a velocidade da queda livre de um corpo dado o intervalo de tempo (e a aceleração da gravidade) em CQuantidade de visualizações: 2356 vezes |
A Queda Livre é um Movimento Uniformemente Variado, na qual um objeto em queda livre tem a sua velocidade aumentada a taxas constantes. Abandonado em alturas próximas da terra, a velocidade com que um corpo cai aumenta a uma taxa de aproximadamente 9,8m/s. Isso é o mesmo que dizer que a aceleração da gravidade terrestre é de 9,8m/s2, o que aumenta a velocidade do objeto em 35,28km/h a cada segundo. Assim, a fórmula da velocidade de um objeto em queda livre é: \[ \text{v} = \text{g} \cdot \text{t} \] Onde: v ? velocidade de queda (m/s) g ? aceleração da gravidade (m/s2) t ? intervalo de tempo (s) Vamos ver um exemplo? Veja o seguinte enunciado: 1) Um corpo é abandonado a uma altura qualquer no tempo 0s e está em queda livre. Calcule a sua velocidade no tempo 15s. Como sabemos que o intervalo de tempo é 15s, só precisamos jogar na fórmula. Veja o código C completo para o cálculo: ---------------------------------------------------------------------- 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[]){ // gravidade terrestre em m/s2 float gravidade = 9.80665; // intervalo de tempo da queda livre (em segundos) float tempo = 15.00; // em segundos // velocidade da queda nesse intervalo float velocidade = gravidade * tempo; // mostramos o resultado printf("A velocidade da queda livre é: %fm/s", velocidade); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A velocidade da queda livre é: 147.099747m/s Se quisermos saber a velocidade em km/h, basta multiplicar o resultado por 3.6, o que dará 529.56km/h. Vamos tornar o experimento mais interessante? Veja uma modificação no código C que mostra a velocidade da queda nos 10 primeiros segundos, de forma individual: ---------------------------------------------------------------------- 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 i; // variável de controle do laço // gravidade terrestre em m/s2 float gravidade = 9.80665; // intervalo de tempo da queda livre (em segundos) int tempo; // velocidade da queda nesse intervalo float velocidade; // um laço for que repete 10 vezes for(i = 1; i <= 10; i++){ tempo = i; // inicialmente será um segundo velocidade = gravidade * tempo; printf("A velocidade no tempo %d: %fm/s\n", tempo, velocidade); } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A velocidade no tempo 1: 9.806650m/s A velocidade no tempo 2: 19.613300m/s A velocidade no tempo 3: 29.419950m/s A velocidade no tempo 4: 39.226601m/s A velocidade no tempo 5: 49.033249m/s A velocidade no tempo 6: 58.839901m/s A velocidade no tempo 7: 68.646553m/s A velocidade no tempo 8: 78.453201m/s A velocidade no tempo 9: 88.259850m/s A velocidade no tempo 10: 98.066498m/s |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizadaQuantidade de visualizações: 23669 vezes |
O código abaixo mostra como você pode implementar uma função que inverte o conteúdo de uma string. Veja que o argumento para um função é um ponteiro para a string a ser invertida:---------------------------------------------------------------------- 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 que reverte uma string void str_reverse(char* str) { char ch; int i, j; for(i = 0, j = strlen(str) - 1; i < j; ++i, --j) { ch = str[i]; str[i] = str[j]; str[j] = ch; } } int main(int argc, char *argv[]) { char nome[] = "Osmar J. Silva"; // original printf("Original: %s\n", nome); // inverte str_reverse(nome); printf("Invertido: %s\n", nome); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: Original: Osmar J. Silva Invertido: avliS .J ramsO Pressione qualquer tecla para continuar... |
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Como escrever um função que retorna uma estrutura (struct) usando a linguagem CQuantidade de visualizações: 16101 vezes |
Muitas vezes precisamos escrever funções que retornam estruturas, ou melhor, que alocam e retornam ponteiros para estruturas. Esta não é, definitivamente, uma tarefa para iniciantes em C. Contudo, esta dica lhe fornecerá um código completo indicando-lhe uma das formas mais simples de conseguir tal proeza. Antes de executar o código, porém, dê uma olhada atenta na função obter_livro(). Veja que esta função recebe o título, o código e o número de páginas de um livro. Em seguida a função aloca memória para uma estrutura, preenche seus membros e retorna um ponteiro para tal estrutura. Eis a listagem completa: ---------------------------------------------------------------------- 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 <string.h> // define a estrutura Livro struct Livro{ char *titulo; int codigo; int paginas; }; // função que aloca e retorna um ponteiro para uma // estrutura Livro struct Livro* obter_livro(char *titulo, int codigo, int paginas){ // aloca memória para uma estrutura Livro struct Livro *temp = (struct Livro*)malloc(sizeof(struct Livro)); // preeche os membros da estrutura temp->titulo = titulo; temp->codigo = codigo; temp->paginas = paginas; return temp; } int main(int argc, char *argv[]){ // obtém uma instância da estrutura Livro struct Livro *a = obter_livro("Programando em Java", 345, 120); // verifica se a estrutura foi retornada com // sucesso if(a != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", a->titulo, a->codigo, a->paginas); } // obtém uma segunda instância da estrutura Livro struct Livro *b = obter_livro("JavaScript - Guia", 540, 800); // verifica se a estrutura foi retornada com // sucesso if(b != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", b->titulo, b->codigo, b->paginas); } puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: Titulo: Programando em Java Codigo: 345 Paginas: 120 Titulo: JavaScript - Guia Codigo: 540 Paginas: 800 Pressione qualquer tecla para continuar... |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais O estudo das propriedades elétricas aborda os conceitos de resistividade e condutividade elétrica, pois são as mais relevantes quanto aos materiais de construção. Assinale a alternativa que define essas propriedades corretamente. A) Condutividade elétrica é a resistência à passagem da corrente elétrica através de um material, e a resistividade é a facilidade com que um material é capaz de transmitir uma corrente elétrica. B) Condutividade elétrica é a facilidade com que um material é capaz de transmitir uma corrente elétrica, e a resistividade é a resistência à passagem da corrente elétrica através de um material. C) Condutividade elétrica é a capacidade que um material apresenta de absorver energia, e a resistividade é a facilidade com que um material é capaz de transmitir uma corrente elétrica. D) Condutividade elétrica é a facilidade com que um material é capaz de transmitir uma corrente elétrica, e a resistividade é a capacidade que um material apresenta em absorver a energia. E) Condutividade elétrica é a resistência à passagem da corrente elétrica através de um material, e a resistividade é a capacidade que um material apresenta em absorver a energia. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Cálculo de velocidade de escoamento e vazão de canais usando a Equação de Manning Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012. Selecione a resposta correta: A) 1,06 m3/s B) 0,84 m3/s C) 6,63 m3/s D) 4,22 m3/s E) 7,00 m3/s Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Topografia |
Rumo e azimute Prova de Engenharia Civil Prefeitura de Jarú O azimute correspondente ao rumo 32º 20' 30'' é: A) 212º 20' 30'' B) 147º 39' 30'' C) 327º 39' 30'' D) 302º 20' 30'' E) 58º 40' 30'' Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
(UFT 2013) A ocorrência de desmatamentos nas margens do rio Paraíba do Sul é o principal processo responsável pelo assoreamento. Sua vegetação encontra-se bastante alterada devido às diversas formas de ocupação e uso do solo, que resultaram em processos de erosão e assoreamento. TERRA, L. et al. Conexões: Estudos de Geografia Geral e do Brasil, 2010, p. 248, vol I e II. Os trechos percorridos por um rio que correspondem respectivamente à jusante e à montante são as: A) áreas da nascente e da desembocadura do rio. B) áreas das vertentes direita e esquerda do rio. C) áreas onde os rios se encontram com o mar. D) áreas da desembocadura e da nascente do rio. E) áreas das vertentes esquerda e direita do rio. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço O perfil de aço apresenta diversas características e uma infinidade de composições que podem permanecer resistentes por meio da conexão de diferentes peças mediante conexões. A esse respeito, assinale a alternativa que indica corretamente o elemento de conexão de perfis de aço que oferece a possibilidade de união das peças de uma moldura de aço como se fosse um todo monolítico. A) Rebite. B) Pinos de alta resistência. C) Pinos de aço-carbono. D) Pinos de controle de tensão. E) Solda. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
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 |