Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Boa Tarde @Chyskhaan meu colega de código! Eu vejo, daqui, que está usando o conceito de função recursiva. Entretanto, essa função que devolve a raiz quadrada antecipou completamente trabalho que deveria ser da função recursiva, só salva se eu estiver errado. De mim, tenho que valor inteiro da Raiz (n) é igual ao maior lado do quadro possível com n azulejos. " Então o de menor lado 1,[...], Raiz (n) é o de maior lado. E no meio ([...]) tem nada não? "
  2. Bom Dia @Giovanna Moreira , Tudo Bem! Então... na minha opinião, que não é lá grande coisa, a consequência de implementar nas bases de Do While é esta 'lapada' de expressão de controle com 1, 2,..., 8 andares. Que não quer dizer que está errado, todavia está grande. ((strcmp(str1[count-1],FLAG)) && (count <= 5)) && ((strcmp(str2[count-1],FLAG)) && (count <= 5)) && ((strcmp(str3[count-1],FLAG)) && (count <= 5)) && ((strcmp(str4[count-1],FLAG)) && (count <= 5)) Há quem diga, e eu concordo, que DO WHILE, WHILE, FOR e GOTO são todos iguais só depende da estilística, e da necessidade de quem usa. " WHILE é, igual os outros, similar à combinação IF & GOTO e o meu predileto. Acredito que de WHILE vás reduzir bastante essa expressão de controle, suponho que de 8 para 2, pense um pouquinho nessa possibilidade. ((strcmp(str1[count],FLAG)) && (count <= 5)) "
  3. Boa noite@Julian Bissani, tudo bem! Então, não sou especialista daqui, mas, notei que uma ou mais informações são importantes para completar o sentido desse enunciado. Meu palpite é que a teacher deixou a critério dos alunos definir; n para as dimensões do quadrado. Por exemplo: no mínimo precisa de 1 para formar o 1² quadrado, 4 para 2² quadrado… " Agora meu bom, a porção chata da conversa! Os membros não são obrigados e não deveriam usar o CdH para fornecer/requisitar resposta de exercício e exames escolares porque, além de antiético, é uma contravenção. Logo, O exercício é a soma das partes (lógica + código) por essa razão não quero resolver POR você. Ainda assim, podemos ajudar mesmo depois que conseguir acha a sua lógica, se ainda restar dúvida; de que está certa, e com os comandos de C certos, já que nesse caso tem maior porção do exercício pronto. "
  4. Bom Dia @Wyara Souza , tudo bem. Então eu não sou especialista em programação e não tenho experiência em análise de algoritmos complexos. Mesmo assim, acredito que @Flávio Pedroza e tu chegaram a solução do problema, e sem a necessidade de tantas conversões. Estou vendo, daqui, que atribui ao vetor data, mesmo que em comentário, os valores corretamente em ordem significativa. " Eu enxergo bem isso na programação uint16_t data[2]; // vetor com os dois registros que compõem a variável, no caso: data[0] = 0; data[1] = 16911; Note agora que se aplicar a transformação (casting) de ponteiros no identificador, conforme exemplificado e atribuir a variável float sua tradução de bits estará completa. Exemplo float f = *((float *) data); Pronto! Aqui funcionou e o resultado é 35,75 Desculpa se estou errado, e pela intromissão. "
  5. Decerto ilustre colega de código... e vou falar o óbvio para deixar tudo ainda mais claro para autor do tópico; com uma leitura fica fácil notar que a transformação é de quantias gastas com refrigerante até hoje então ainda resta dois fatos ou valores para implementar a solução completa que é: quantias gastas com refrigerantes em toda sua vida. " VOCÊ, @Luiz Lourenço Neto complete a programação com eles. Toma, que filho é teu! "
  6. Bom dia... tudo bem@ANA PAULA ARAUJO 2020, então, da maneira que ocorre numa receita de bolo os ingredientes são os comandos que te oferece a linguagem de programação. Conheça os ingredientes antes de cozinhar. Os Ingredientes que precisa Função / método de Entrada e Saída de informação Tipos / métodos de armazenar valores na memória Operadores relacionais Operadores aritméticos Estrutura de controle / escolha Estrutura de repetição (opcional). — Então minha nobre, é uma eletiva no Ensino Médio ou Curso de TI? Qual linguagem de programação vocês conhecem? ... Não precisa do especialista da NSA (National Security Agency) para resolver esse exame que até eu, que sou script-kid, resolvo facilzinho. "
  7. Estou avisando agora antes que se de falta disso mais tarde, faz sentido solicitar o sexo do paciente se de alguma forma essa informação influencia no indicado (estado nutricional), até aí tudo bem apesar de que até momento não enxerguei onde o sexo influenciou, na programação. Ainda assim, se influencia porque tenho fé que sim, essa informação DEVE ser propriedade da classe, tal qual o nome, data de nascimento e outras informações que vão costumeiramente para prontuário, só informando que não sou profissional da saúde e não trabalho com desenvolvimento para o setor. " * O índice de massa corporal é, a mesma maneira que,@AdrianoSiqueira internacionalmente conhecido: IMC= kg/m² Sua programação calcula o peso ideal com base na altura do paciente ou é outra coisa, seria bom que explicasse? "
  8. @Lucass20 Colega de código, para eu toda linguagem OO de programação é igual senão é Python. Mesmo assim, tua programação está tão confusa que não há nas versões de Python uma que conserte; sim Sr. Nas primeiras linhas algo no mínimo existe só para incomodar o computador: reserva-se memória para variável indexável (Vetor) fazer coisas ditas desimportante. int num = r.Next(-50, 100); bool achou = false; foreach (int elemento in Vetor) { if (elemento == num) { achou = true; Repetidos[c] = num; // Tentativa para solucionar o problema, não é importante! c++; } } De mim, vetor é de elementos todos 0 porque não enxergo a ação onde 'elementaria' a Vetor e justificaria sua investigação mais tarde e no intervalo de (-50) ate 100 com flag (num) pseudoaleatório. Talvez seja esse o problema nuclear do teu algoritmo, só lembrando que não sou programador e especialista em análise de algoritmo. " A biblioteca padrão da C# tem métodos de pesquisa para simplifica a vida de seus adeptos e da forma que sei não é novidade para ninguém. Outra coisa meu caríssimo, acredito também que tudo não passe de um exercício de lógica para ti, e nesse caso estude com os vetores que são as origens preenchidinhos de seus dados, se o preenchimento é parte do exercício então faça em separado, verifique se tudo está como esperado e parta para próxima fase. "
  9. Certamente que ter a resposta para uma pergunta que pode jamais ser feita é melhor que reprovar em qualquer intervista por tampouco.
  10. Tentei dizer que não adiante aponta motivos contra ffush(stdin). Uma discussão histórica que se repete há uma década, acaba retomando para o ambiente Windows na mesma proporção que tem uma correção gramatical, ou seja, é gramaticalmente incorreto se usar a norma tal, --- não há problema porque funciona, ---Porém não é seguro porque algo desconhecido faz anos vai acontecer só com você e tem mais, existe formas melhores de se fazer o mesmo, por último alguém sempre vai corrigi-lo. Brincando um pouquinho Chefe do Departamento: Fala sobre fflush(sdin) e scanf no Windows : Eu: o motivo para não usar ffush(stdin) depois de scanf numa programação para windows é evitar aquela velha discussão de 10 anos Eu:
  11. Um assunto com + 10 anos, eu não defendo razões e nem motivos que te impeça de usar fflush, principalmente quando funciona para ti. É caso de se demostrar os possíveis erros que fflush vem causando na entrada padrão, afinal esse é o cenário que se tem aqui, outros considerados ideias ficam para mais tarde, porque ao que me parece essa não é a questão. Vaje bem se no windows funciona fora do Padrão C, mesmo com alegações de um uso irregular. O ponto é uma questão de causa e efeito, eu acredito que essa foi a posição que conduziu essa discussão a princípio. Já portabilidade, sabemos que não pesa muito na questão.
  12. @AdrianoSiqueira sua programação funciona corretamente, só que tem um detalhe, esquece % do segundo especificador na instrução que lê o salário. Eu entendo, o objetivo é usa %*c e descarta aquele enter que naturalmente sobra no fluxo associada a entrada padrão (uso de teclado).
  13. @devair1010 fflush foi definida para fluxos de entrada também no linux, segundo manual: https://man7.org/linux/man-pages/man3/fflush.3.html não é para uso em terminais, o que bem mais específico. Procurei aqui no fórum e em outros lugares, postagens sobre o tema, inclui as recentes também. Selecionei aquela que melhor contribui sobre o assunto, não há igual. Standard C and POSIX leave fflush(stdin) as undefined behaviour https://stackoverflow.com/questions/2979209/using-fflushstdin#:~:text=ostream points to an output,"how bad" this is. Vale conferir na integra. " o que nos leva a usar fflush" deixa de ser um mistério, mesmo porque nunca foi.
  14. @Nera Bom Dia, Ah! Muito Bem então! "
  15. Usar fflush ainda não é o problema, o problema é o que nos leva a usar fflush. Eu diria, simplesmente escreva programas em C; 'A portabilidade é um objetivo ilusório'. "
  16. @RDGS Já escreveu o seu "Olá Mundo" Como te ajudar ?
  17. @Nera Você não gosta de conveniência ? Enquanto que na célula de tudo auto é resquício, em C++17 deduz a si na primeira expressão.
  18. @M.Araujo Levando só em consideração sua fala e a impressão inicial dela com seu código, vou concluir o seguinte: Teu plano é copiar os vetores para um outro com capacidade de 10 elementos e depois ordenar ele. " Se funciona? é claro que sim. O algoritmo de ordenação pode ser qualquer um que venha a ter entediamento. " Depois que copiar os dois vetores chame a função de ordenação. Copiar é fácil percorra o vetor A da esquerda para direita, e da direita para esquerda o vetor B no mesmo loop. AB = [A--------AB--------B] Se parece complicado tente com dois loops, um inicia onde o outro terminar. " Na etapa seguinte vem imprimir a sequência dos menores números, mas pode ser que alguns estejam repetidos. Escreva algo que trate esse problema. Ex. int cntade = 0; // Quantidade de valores impressos. int impresso = 2147483647; // Um número inteiro grande inicial. for (int unsigned indice = 0; (cntade < 5) && (indice < 10); ++ indice) { if (impresso != lista[indice]) { impresso = lista[indice]; printf ("%d ", impresso); ++ cntade; // incrementa um impresso } } trocar impressão por gravar no vetor C é fácil
  19. @BeilFelix27 Uma resposta simplesmente correta é usando operador relacional desigual (!=). C'11 #include <stdio.h> int main (void) { /* * Faça um programa para verificar se um determinado numero inteiro e divisivel por 3 ou * 5, mas nao simultaneamente pelos dois. */ int valor; printf("Digite um valor: "); scanf(" %i" , & valor); int const A = (0 == valor % 3); int const B = (0 == valor % 5); if (A && !B) printf ("Divisivel por 3 mas nao por 5 \n"); else if (B && !A) printf ("Divisivel por 5 mas nao por 3 \n"); else if (B && A) printf ("Divisivel por 5 e 3 \n"); if (A != B) printf ("E Divisivel por 3 ou 5 \n"); } Tem o mesmo resultado e está de acordo. "
  20. Pelo que todos sabem os operadores lógicos em c são (&&, || e !), de acordo com a Norma atualizada em 2020 e do dialeto C'18 [6.5.14-15] ISO/IEC 1990-2018.: Continuo orientando por esse Padrão que até o momento é a escolha mais certa quando faz distinção entre operadores para lógica e para bits (bitwise). Agora, Sr. Se realmente deseja fazer algo em relação a isso, proponha mudanças na redação do Padrão C. [eu duvido que consiga] "
  21. Não é sugestão, é uma afirmação com base no padrão C, mas se apontar na norma C outros operadores lógicos então você está certo. Por enquanto, está errado " @BeilFelix27 SIm. Declara-se uma constante do tipo inteiro de nome A. Na inicialização de A, salva-se o resultado da expressão booleano a direita. Essa expressão tem duas etapas: Aritmética: Calcula-se o resto da divisão de valor por 3 Booleano: Usando o operador relacional de igualdade (==), Se resto é igual a 0: retorna 1, senão retorna 0. Na linha seguinte, tem-se o mesmo... Declara-se uma constante do tipo inteiro de nome B. Na inicialização de B, salva-se o resultado da expressão booleano a direita. Essa expressão tem duas etapas: Aritmética: Calcula-se o resto da divisão de valor por 5 Booleano: Usando o operador relacional de igualdade (==), Se resto é igual a 0: retorna 1, senão retorna 0. Agora as constantes A, e B são respectivamente a resposta para se o número é divisível inteiro por 3 e por 5. Resumindo: Se A alberga 1 então o valor é divisível inteiro por 3 Se B alberga 1 então o valor é divisível inteiro por 5 Depois basta aplicar os operadores lógicos (&&, ||) C'11 #include <stdio.h> int main (void) { /* * Faça um programa para verificar se um determinado numero inteiro e divisivel por 3 ou * 5, mas nao simultaneamente pelos dois. */ int valor; printf("Digite um valor: "); scanf(" %i" , & valor); int const A = (0 == valor % 3); int const B = (0 == valor % 5); if (A && !B) printf ("Divisivel por 3 mas nao por 5 \n"); else if (B && !A) printf ("Divisivel por 5 mas nao por 3 \n"); else if (B && A) printf ("Divisivel por 5 e 3 \n"); if ((!B && A) || (B && !A)) printf ("Divisivel por 3 ou 5 \n"); } Se precisar mais explicação fale. Até ... "
  22. São códigos semelhantes... C'11 #include <stdio.h> int main (void) { /* * Faça um programa para verificar se um determinado numero inteiro e divisivel por 3 ou * 5, mas nao simultaneamente pelos dois. */ int valor; printf("Digite um valor: "); scanf(" %i" , & valor); int const A = (0 == valor % 3); int const B = (0 == valor % 5); if (A && !B) printf ("Divisivel por 3 mas nao por 5"); else if (B && !A) printf ("Divisivel por 5 mas nao por 3"); else if (B && A) printf ("Divisivel por 5 e 3"); }
  23. Em C, os operadores lógicos são aqueles mesmo. Outros semelhante são os chamados operadores bitwise. *Semelhantes não quer dizer igual. Só para ter mais uma ideia errada de resposta, Resposta: A-B Ora, porque se A e B são simultaneamente de divisores então Resposta: 1-1 = 0 (Falso) Contudo, Mesmo sendo mais inteligente, eu não aceito. Boa Sorte
  24. Retornei só para posta uma codificação de exemplo que pode ser uma resposta ao não <depende da moderação> C'11 #include <stdio.h> int main (void) { int meu_numero_inteiro = 0; scanf (" %i", & meu_numero_inteiro); int const A = (0 == meu_numero_inteiro % 3); int const B = (0 == meu_numero_inteiro % 5); int const C = (A && B); int const R = ((A || B) && !C); printf ("%d", R); } Boa Sorte
  25. Como te ajudar ? Suponho que todo conteúdo de lógica quer unicamente aquele com explicação que melhor se adequar ao código. Em C, operador de negação - Not é exclamação; operador lógico conectivo - E é eitza duplo; operador lógico conectivo - OU é barra dupla; operador aritmético que devolve o resto da divisão inteira é porcento. Proposição A: (Inteiro % 3 == 0) B: (Inteiro % 5 == 0) (A && Uma resposta: (A || && !C

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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!