Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
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: 523 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #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; } |
![]() |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é igual, maior ou menor que outra em C usando a função strcmp()Quantidade de visualizações: 22512 vezes |
A função strcmp() da linguagem C pode ser usada para verificar se uma string é igual, maior ou menor que outra. Esta função, presente no header string.h aceita duas strings e retorna um valor inteiro: 0 se as strings forem iguais; maior que 0 se a primeira string for maior que a segunda e menor que 0 se a primeira string for menor que a segunda. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]){ char palavra1[] = "Java"; char palavra2[] = "JavaScript"; if(strcmp(palavra1, palavra2) == 0){ printf("As palavras sao iguais"); } else if(strcmp(palavra1, palavra2) > 0){ printf("A primeira string e maior que a segunda"); } else if(strcmp(palavra1, palavra2) < 0){ printf("A segunda string e maior que a primeira"); } puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A segunda string é maior que a primeira. |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando CQuantidade de visualizações: 1747 vezes |
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código C completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português int n = 3; // ordem da matriz quadrada int matriz[n][n]; // matriz quadrada int i, j, linha, coluna; int identidade = 1; // vamos pedir para o usuário informar os elementos da matriz for (i = 0; i < n; i++){ for (j = 0; j < n; j++) { printf("Elemento na linha %d e coluna %d: ", (i + 1), (j + 1)); scanf("%d", &matriz[i][j]); } } // agora verificamos se a matriz é uma matriz identidade for(linha = 0; linha < n; linha++){ for(coluna = 0; coluna < n; coluna++){ if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){ identidade = 0; break; } } } // agora mostramos a matriz lida printf("\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf("%d ", matriz[i][j]); } printf("\n"); } if (identidade){ printf("\nA matriz informada é uma matriz identidade."); } else{ printf("\nA matriz informada não é uma matriz identidade."); } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como pesquisar um valor em um vetor de inteiros em CQuantidade de visualizações: 9383 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #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 ::: Arquivos e Diretórios |
Como testar se um arquivo existe usando a linguagem CQuantidade de visualizações: 14225 vezes |
Muitas vezes precisamos saber se um determinado arquivo existe antes de efetuarmos alguma operação. O trecho de código abaixo mostra como você pode implementar uma função file_exists() em C que pode ser usada em seus programas. O segredo aqui é tentar abrir o arquivo passado como argumento para a função. Se o arquivo for aberto com sucesso, sabemos que ele existe e a função retorna o valor 1 (true), do contrário retorna 0 (false):---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> /* Implementação de uma função file_exists() em C. Se o arquivo existir o valor 1 (true) será retornado. Caso contrário a função retornará 0 (false). */ int file_exists(const char *filename) { FILE *arquivo; if(arquivo = fopen(filename, "r")) { fclose(arquivo); return 1; } return 0; } int main(int argc, char *argv[]) { // testa se o arquivo existe if(file_exists("c:\\testes.txt")){ printf("O arquivo existe no local especificado.\n"); } else printf("O arquivo NAO existe no local especificado.\n"); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar a existência de qualquer um dos caracteres de um substring em uma string em C usando a função strpbrk()Quantidade de visualizações: 10427 vezes |
Muitas vezes precisamos verificar se qualquer um de um conjunto de caracteres está contido em uma string. Para isso nós podemos usar a função strpbrk(). Esta função recebe duas strings e retorna um ponteiro para a primeira ocorrência de qualquer um dos caracteres presentes na segunda string e também presentes na primeira string. Veja um exemplo no qual verificamos se uma string contém qualquer um dos digitos de 0 a 9:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char texto[] = "Gosto muito de C e C++"; char numeros[] = "1234567890"; char *pos_atual = strpbrk(texto, numeros); if(pos_atual != NULL){ puts("A string contem digitos"); } else{ puts("A string NAO contem digitos"); } system("pause"); return 0; } |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter radianos em graus na linguagem CQuantidade de visualizações: 5538 vezes |
Todos os métodos e funções trigonométricas em C recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() do header math.h. Esta função recebe o ângulo em radianos e retorna o seu seno. No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo: \[Graus = Radianos \times \frac{180}{\pi}\] Agora veja como esta fórmula pode ser escrita em código C: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // vamos definir o valor de PI #define PI 3.14159265358979323846 int main(int argc, char *argv[]){ // valor em radianos double radianos = 1.5; // obtém o valor em graus double graus = radianos * (180 / PI); // mostra o resultado printf("%f radianos convertidos para graus é %f\n\n", radianos, graus); system("PAUSE"); return 0; } Ao executarmos este código C nós teremos o seguinte resultado: 1.500000 radianos convertidos para graus é 85.943669 Para fins de memorização, 1 radiano equivale a 57,2957795 graus. |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como testar múltiplas condições usando a construção if...else if...else da linguagem CQuantidade de visualizações: 12016 vezes |
Em algumas situações precisamos usar a estrutura condicional if...else (se...senão) da linguagem C para testarmos múltiplas condições. Para estes casos, o C nos permite combinar if...else if...else várias vezes. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int valor = 20; if(valor == 15){ printf("O valor a igual a 15"); } else if(valor > 15){ printf("O valor e maior que 15"); } else{ printf("O valor e menor que 15"); } printf("\n\n"); system("PAUSE"); return 0; } Ao executarmos este código nós teremos o seguinte resultado: O valor é maior que 15 |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C usando a função sqrt()Quantidade de visualizações: 6452 vezes |
A raiz quadrada de um número pode ser obtida em C por meio da função sqrt(). Esta função recebe um valor double, ou seja, qualquer tipo que possa ser convertido em double e retorna um valor double. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { int numero = 9; printf("A raiz quadrada de %d é %f", numero, sqrt(numero)); printf("\n\n"); system("pause"); return 0; } Ao executar este código nós teremos o seguinte resultado: A raiz quadrada de 9 é 3. É importante observar que não é possível obter a raiz quadrada de um número negativo. Caso seu código tente fazer isso, o resultado poderá ser imprevisível. |
Vamos testar seus conhecimentos em |
Aglomerantes No Brasil, o gesso não deve ser utilizado para aplicações em ambientes externos em função de sua: A) Solubilização na água. B) Resistência mecânica. C) Resistência à compressão. D) Isolamento. E) Aderência. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Alvenaria: Técnicas construtivas Em alvenaria de vedação (preenchimento dos vãos das estruturas de concreto armado), um procedimento padrão deve ser efetuado para evitar o surgimento de fissuras entre a parede e a viga que fica imediatamente acima. O levantamento da parede é interrompido a cerca de 20 cm do respaldo, e deixa-se curar por alguns dias antes do fechamento com tijolos inclinados ou cortados na diagonal. Esse procedimento é denominado: A) Emboço. B) Encunhamento. C) Cisalhamento. D) Escantilhão. E) Chapisco. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?# cria uma string palavra = "ESTUDAR" letras = ['A', 'B', 'C'] letras[0], letras[2] = palavra[3], palavra[1] print(letras) A) ['T', 'B', 'S'] B) Um erro TypeError: 'tuple' object does not support item assignment C) ['B', 'A', 'C'] D) ['U', 'B', 'S'] E) Um erro TypeError: 'str' object is not callable Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dos fluidos A velocidade é um fator determinante na viscosidade de um fluido. Muitos estudos apresentam o cálculo da viscosidade a partir da velocidade média de um fluido viscoso. Como é chamado o fluido com viscosidade variável com a velocidade em que a tensão de cisalhamento não é diretamente proporcional à taxa de deformação? A) Fluido compressível. B) Fluido não compressível. C) Fluido newtoniano. D) Fluido não newtoniano. E) Fluido relativo. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Como escrever um condicional if para executar uma ação se o valor de "a" for DIFERENTE de 10? A) if (a <> 10) {} B) if a <> 10: C) if a != 10 then D) if (a != 10) {} Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Android Java - Como detectar um clique em um botão do Android usando setOnClickListener() e exibir uma mensagem AlertDialog |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |