-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
Número Perfeito Um número (n > 1) natural é núm. perfeito somente se a soma de todos os seus divisores inteiros positivos, exceto ele mesmo, é igual ao próprio número. Ex.: 28 = 1 + 2 + 4 + 7 + 14 * Números perfeitos de 1 a 2000 Se consultou livros ou a internet, notou que para intervalo do tópico existem só 3 número perfeitos 1ª, 2ª, 3ª 6 , 28, 496, [8.128, ...]. Teste somente os números pares do intervalo porque não se conhecem os números perfeitos ímpares, ou seja, não preciso testar os valores ímpares. #include <stdio.h> #include <locale.h> /* Faça um programa que imprima na tela todos os números perfeitos entre 1 e 2000 */ int eperfeito (int numero){ // Escreva a solução aqui ... } int main (void){ setlocale (LC_ALL, "portuguese"); int i, perfeito = 0; for (i = 2; i <= 2000; i += 2){ perfeito = eperfeito (i); if (perfeito == 1){ printf("Este números é um número perfeito: %d \n", i); } } return 0; } * A fórmula 2n−1(2n-1) resulta em um número perfeito. Entretanto, não é o caso do enunciado, pois a intenção é que se faça o teste linearmente.
-
O código foi testado, não há supressa. Mesmo assim obrigrado!
-
C Trabalho da faculdade. Algoritmo em Linguagem C
Ansi C respondeu ao tópico de Ana Raquel em C/C#/C++
Relativamente fácil! Eu não escrevi, só de cabeça já tenho uma solução simples para problema do professor João Messias. Precisei de uma matriz [20][10] respectivamente com 20 clientes x 10 notas por cliente, essa matriz é de uma estrutura para organizar os dados das notas. Cliente: Nota Valor [10], Cliente: Nome Cliente. Quesito 1: Bastante aninhar as instruções de loop, preferencialmente FOR, percorrer a matriz linha x coluna para ler os dois dados do cadastro, simplesmente linear. Quesito 2: Escrevo um algoritmo\função que realize esse processo por cliente, cujo parâmetro é um vetor [10] com retorno da soma dos elementos do vetor. Agora é suficiente aninha a chamada dessa função a um loop de 0 à 9 para calcular o total de todos os clientes Quesito 3: Uso o a função do quesito 2. Quesito 4: Coloco tudo em um vetor de funções ou switch-case, aninho o menu em um vetor de cstrings e chamo dentro da main. -
O ponto e virgula, pontuador que define o fim para uma declaração. ; é a finalizadora que marca o fim e o começo de outra expressão em C não importando a endentação. Já a Python é superior, entre outras coisa, em termos de semântica porque acontece digamos a união entre semântica e endentação o que é bem util. Obviamente que no pré-processamento a endentação tem 0 importância em C; que quando coerentemente usada com consistência produz um código vistoso e não mais, importante mesmo é o respeito com relação a pontuação da linguagem que em Python quase não existe, pois inteligentemente se utiliza da endentação. Comentários ... Sim; Ponto virgula finaliza a linha e como digo: seguimento composto ou lista de declaração e expressão. Eu entendo a mensagem, mas não entendo o o porquê de ser assim.
-
C++ Esse negócio de programar em 7X e todo mundo vem atrás de você é verdade? #off
Ansi C respondeu ao tópico de sandrofabres em C/C#/C++
Assembly >>> C >> C++, ... , Python > Outsystems Nesse último nível não preciso implementar objetos; deixo essa responsabilidade para os engenheiros e ganho, com isso, em produtividade. Como todos objetos de C++ não existem em C, isso faz do programador de C++ um arquiteto, porém se elevamos essa relação ainda mais, elava-se a produtividade entre às camadas. Existem ao menos 2 níveis. O engenheiro: Que implementa objetos e conhece seu o código. O arquiteto: Que usa objetos sem dá muita importância ao seu código. Para arquitetos de Sistemas Essa plataforma é um nível mais baixo de código ou mais elevado de Programação de Objetos, atualmente. Para \ atender às necessidades de seus clientes; é fornecido um conjunto de objetos na maior parte de problemas gerais. Se houver necessidade, é bastante fazer poucas customizações. -
C C muda e fica melhor como python ou é estática?
Ansi C respondeu ao tópico de Dragon_Extreme em C/C#/C++
Entre C e Python ou 'porcaria' mal acabada C++ prefira a Python Aqui tem bastante coisa, quiçá tudo de C http://www.open-std.org/jtc1/sc22/wg14/www/docs/?C=M;O=D. -
Esse é exercício elementar de ficção pra quem estuda vetores em c. Mostre sua tentativa.
-
C percorrer uma palavra e imprimir quantos tipos de letras ela possui.
Ansi C respondeu ao tópico de andre costac em C/C#/C++
Off-tópico: Recurso X aritmética Gostei da solução @Midori porque só aloca os recursos necessário, e não altera a fonte no processo. Isso é importante ? Sim. Até mesmo o mais simples processador é capaz de realizar uma simples subtração, nesse caso em particular, para economizar recursos [temporário e não]. -
C percorrer uma palavra e imprimir quantos tipos de letras ela possui.
Ansi C respondeu ao tópico de andre costac em C/C#/C++
Exemplo moderno de palavra: v6 equivale à vocês; próximos em pronuncia e mesmo significado. Entretanto, não é o caso, fora algumas exceções modernas: palavra tem somente caracteres do alfabeto. Por exemplo: "qualquer86544!!!" é não palavra. C11 #include <ctype.h> int letras_diferentes (char palavra [], int tam){ char chmda [1 + 'Z' - 'A'] = {0}; int letra = '\0', ctdor = 0; for (int t = 0; t < tam; ++ t){ letra = toupper (palavra [t]) - 'A'; if (chmda [letra ]) continue; chmda [letra] = 1, ++ ctdor; } return ctdor; } * continue apenas por preferência, pois uma comparação com valor 0 tem mesmo efeito. Optativo, sem o vetor acho que fica como @devair1010 . -
C percorrer uma palavra e imprimir quantos tipos de letras ela possui.
Ansi C respondeu ao tópico de andre costac em C/C#/C++
Eu tendo explicar ser dá uma resposta e acabo como mal português. Enfim, é aproximadamente o que @devair1010 . diferença é que não precisei fazer mudanças em palavra e conto com 1x loop e não 2x loops; mas tem mesma lógica. adicionado 4 minutos depois https://pt.wikipedia.org/wiki/Lista_das_maiores_palavras_de_cada_língua -
C percorrer uma palavra e imprimir quantos tipos de letras ela possui.
Ansi C respondeu ao tópico de andre costac em C/C#/C++
Considerando palavras em caixa baixa; Use um vetor [25] para chamadas inicialmente zerado; coloque a letra no índice desse vetor; se a expressão vetor [palavra [indice] - 'a'] tem valor 0 então incremente a variável designada para valor que retorno depois troque o valor 0 da expressão para 1. Repetia (em Loop) esse procedimento tam vezes na mesma função. com fim retorne a variável designada. -
Tem um campo codigo na estrutura. Então atribua o valor da expressão (seq + 1) lá depois que confirmar o cadastro. Quando exibir LISTA DE CONTATOS use o campo codigo da estrutura ou a expressão porque são iguais. Faz sentido ?
-
Você quer mesmo esse procedimento em fluxo de arquivo, ou não pensou em usar vetores.
-
Não! São independentes, melhor dizendo wchar.h tem uma equivalente, a chamada fgetws Referência: http://www.cplusplus.com/reference/cwchar/ adicionado 7 minutos depois stdio.h contém wchar.h Eu só inclui novamente para evidencia-la, porém está lá.
-
@Verônica Xavier Gabardo Era para testar, vamos para próxima fase; A fase final. Geralmente quando acontece 'bugs' entre as codificações e não tem mais jeito Recomento a biblioteca de amplos caracteres. P. ex.: Essa é minha solução para seu problema. Teste implemente se gostou curta. adicionado 3 minutos depois Observação; setlocale não tem efeito.
-
Precisou também de mudanças interna da função. #include <stdio.h> //Protótipo da funcção ReajSalNovo float ReajSalNovo(float salario); int main (void) { int k, i; float SalAntigo, SalNovo = 0; do{ printf("Digite um numero maior que 0 e menor que 11: "); scanf("%d", &k); } while ((k < 0) || (11 < k)); for(i=0; i < k; i++){ printf("Digite o valor do salario: "); scanf("%f", &SalAntigo); SalNovo = ReajSalNovo(SalAntigo); printf("Sal_antigo: %.2f\tSal_novo: %.2f\n",SalAntigo, SalNovo); } } float ReajSalNovo(float salario) { float sal_novo; //Condicionais que calculam o salário antigo com o reajuste para o sal_novo. if(salario < 800) { sal_novo = salario + salario * 0.15; }else if((salario >= 800) && (salario <= 1000)) { sal_novo = salario + salario * 0.10; }else { sal_novo = salario + salario * 0.05; } return (sal_novo); } Então funcionou ?
-
Os códigos são de acordo com os índices [0,1...,4] do vetor. Para minimizar as mudanças do programa adicione a expressão (seq + 1) só para exibição.
-
Só para ter ajustamento com o Índice pluviométrico sem mais detalhes.
-
Sim ... Observe: É somente o valor do salario ou comumente salario do funcionário. Caso contrário fica em desacordo com solicitado.
-
C Imprime as letras vogais de uma string se o tamanho dela for impar <string.h>
Ansi C respondeu ao tópico de Luiz Paulo Escobar em C/C#/C++
Prestei só atenção no título. Mais quem liga! Eu não. -
A função do problema precisa\deve ter um só parâmetro: salario, e retorna o salario reajustado. São poucas mudanças.
-
C Imprime as letras vogais de uma string se o tamanho dela for impar <string.h>
Ansi C respondeu ao tópico de Luiz Paulo Escobar em C/C#/C++
Uffa! Ainda bem! kkkk -
O problema pode está na codificação binária do prompt que não é a mesma que espera a entrada do programa. No prompt digite: chcp No programa: puts (setlocale(LC_ALL,"Portuguese")); adicionado 4 minutos depois Os dois resultados são iguais ?
-
C Scanf aceitando letras como números. Como resolver?
Ansi C respondeu ao tópico de Verônica Xavier Gabardo em C/C#/C++
Com este especificador ("%d") a função acessa um inteiro lendo decimais. O restante é dos caracteres deve ignora, exceto [+ ou -] inicialmente. Se uma entrada é composta e se os primeiros caracteres corresponderem ao especificador, a função acessa até que a reciprocidade acabe. P. ex.1: ENTRADA: +12numero Ler somente +12, e 'numero\n' será ignorado permanecendo na memória para outras leituras. P. ex.2: ENTRADA: numero 'numero\n' será ignorado e permanece (no buffer) para outras leituras porque o especificador é de dígitos decimais. Não deveria; no caso se digitar caracteres não decimais ela ignora. De um exemplo acontece ?
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais