Ir ao conteúdo
  • Cadastre-se

Ansi C

Membro Pleno
  • Posts

    3.259
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Olá, tudo bem? Há solução também nos fundamentos: qual é o máximo e o mínimo valor de representação numa variável|objeto de int. Veja Fonte: opengroup Logo ..snip.. int main(){ ..snip... menor = INT_MAX; maior = INT_MIN; ..snip.. printf("O maior número é: %g.\nO menor número é: %g.",maior,menor); } Não é uma solução lógica porque os limites não são entradas e estão invertidos nos respectivos objetos (menor: máximo, maior: mínimo), porém essa é outra maneira para garantir que o primeiro valor de entrada será simultaneamente o maior e menor inicial.
  2. Olá, tudo bem? Espero que esteja bem [...] Sendo um exercício, espera-se que encontre no apontamento|livro|apostila anterior ele; lá estão|deverão estar somente os fundamentos, pois esse é o objetivo — avaliação de leitura. Ou seja, uma responta deve os recursos (anteriormente) observados conforme o apontamento|livro|aula|grupo|site|app. Alguns assuntos em linguagem c de programação de computadores usuais nos apontamentos para exercícios semelhantes são: Tipos básicos Tipo derivado: Vetor Instrução condicional Operador lógico e aritmético Laços de repetição Iteração sobre vetor Entrada/Saída (I/O) de informação no aplicativo de console (com nenhuma ou o mínimo de “interface” gráfica) Extra: abstração e decomposição de problema. Pode ser que existam outros, porém sei que esses são o suficiente. 6. Iteração sobre vetor(es)
  3. Olá, @felipe_2015 Se o teu plano seria|foi|é uma rede de declarações IF-ELSE (cascata de condicionais) com as combinações|cenários possíveis. Então, para um determinada entrada falhar é porque lhe falta o|s cenário|s especificamente! Veja se uma entrada foi: 2, 1, 3: | Qual é uma expressão na condicional que identifica a entrada (acima) como desordenada ?a>b && c>a if(a>b && c>a){ // Um caso para c, a, b ficar não-crescente printf("%d,%d,%d.",c,a,b); } |Resultado (outputs) 3,2,1. Compreendes!
  4. Olá, Alexandre, tudo bem? Minha impressão que tuas maiores dúvidas aparecem quando o assunto é a linguagem e suas funções do padrão, e se tu defines uma site|manual|livro da linguagem c de programação para referências rápidas, resolverá a maioria delas. Veja getchar — pega 1 'byte' do fluxo stdin (padrão de entrada). Fonte: opengroup Logo A variável (int) nome (acima) tem a cópia do primeiro caractere na entrada (stdin), significa que após ler nome não existe o "Alex" na variável, há somente o 'A' de "Alex" e o resto ("lex") permanece no fluxo, no aguarda de nova leitura. A lógica poderia|foi|é substituir o separador. Veja Tua suposição seria|foi|é que durante entrada os campos são separados por 'NOVA LINHA', semelhante à: Ler nome ..... : Blah[ENTER] Ler RU ........ : Blah[ENTER] Ler telefone .. : Blah[ENTER] Ler e-mail ... : Blah[ENTER] Ou seja, fora as instruções ao usuário (humano) resta (a máquina) entrada semelhante à: Blah[ENTER]Blah[ENTER]Blah[ENTER]Blah[ENTER] Após entrada (inputs), espera-se um resultado (outputs) semelhante à: Blah;Blah;Blah;Blah; Daí o porquê duma lógica que substitui caractere. Para isso, escolha|construa o método|função|rotina de entrada e saída ideais|perfeitas.
  5. Olá, td bem? Espero que sim. Atenção no enunciado: Não-crescente e já saber disto, implica que no final procedimento, o resultado na variável 'a' tem o maior valor possível. Logo //etapa: 1 if(a<b){ int x = a; a = b; b = c; c = x; } Essa construção (acima) quase garantiu que a variável’a’ é maior que’b’, pois sua lógica é interrompida|modificada quando b recebe o valor dá’c’ Nessa etapa do programa, para uma entrada de valores: 1 2 3, terá: a = 2 b = 3 c = 1 Consequentemente, seguirá com programação de (a<b), no modo-cópia-cola: // etapa: 2 if(a<b){ int x = a; a = b; b = c; c = x; } Nessa etapa do programa, para uma entrada de valores: 1 2 3, terá: a = 3 b = 1 c = 2 Etapa: 3 Notou que nas etapas anteriores o maior valor flutua até a variável `a`, agora que está em seu lugar, a etapa seguinte envolve b e c, OK! Entretanto, se invés de (1 2 3) sua entrada fosse (2 1 3), essa lógica funcionaria? ... Não, porque a<b é falso e depois terá um resultado igual à entrada. Conforme os assuntos: E essa construção (acima) seria quase a maneira esperada para trocar|flutuar os valores nas variáveis a, b e c. Sua estrutura de decisão deve elevar os valores do maior para o menor independente dos iniciais (inputs). Observe que: SE a<b eles se trocam SE a<c eles se trocam SE b<c eles se trocam No fim, notará que o maior valor relativamente flutua para um topo. —
  6. Olá tudo bem? Espero que esteja bem. Os recursos mínimos (que sei) para conseguir uma resposta (padrão) é: condicionais if operadores aritméticos e lógicos. Logo Atenção com entrada, observe o formato delas (inputs) Esse formato (acima) difere do formato sugerido na construção abaixo Quando se espera algo mais próximo disto if(scanf("%dh%dm%ds",&ih,&im,&is)<3){ puts("SCAN-ERROR: INICIAL"); }// INICIAL if(scanf("%dh%dm%ds",&fh,&fm,&fs)<3){ puts("SCAN-ERROR: FINAL"); }// FINAL A expressão com if puts < 3 que registra entradas de formato inválido é quase sempre uma excrescência quando são entradas ideais|perfeitas (em geral, de exercícios). Logo, será algo semelhante à scanf("%dh%dm%ds",&ih,&im,&is); // INICIAL scanf("%dh%dm%ds",&fh,&fm,&fs); // FINAL Mas, logo abaixo, tu especificas Formato que admite octal|hexadecimal|decimal separados por dois pontos (:) e também ignora a unidade de segundos, com variável short int para armazenamento. Fonte: https://www.cplusplus.com/reference/cstdio/scanf/ Quase conforme os exemplos, porém é menos|mais que esperado. A sua operação de subtração de horários não está intuitiva. Se deixa sua construção simples sem simplificar, notará ser um problema de subtração|adição de base60 (para minutos e segundos) e o uso da técnica "empresta 1".
  7. Olá, tudo bem? Espero que esteja bem. Para auxiliar a discussão na melhor forma, descreva seu objetivo, exponha quais eram|são as etapas|rotinas|operações do programa e os valores ideais|perfeitos de entrada e saída. No caso de ser um exercício escolar, compartilhe o 'print screen' do enunciado (completo), descreva quais pensa ser as etapas de uma solução e os assuntos que estudou, @Estudando Alg GaR No caso de uma dúvida, compartilhe sua versão do código-fonte, tecnologia|ambiente de construção|programação e a dúvida.
  8. Olá tudo bem? Espero que esteja bem. (jquery 3.6.0) O evento é click e ainda pode ser on("click", ...) essa expressão acima fica deste jeito: $("input[type='submit']").click(...) OU $("input[type='submit']").on("click",...) Verifique se esqueceu de fechar os parenteses nos selectorS Aqui E nesse também!
  9. Olá, todos bem? Espero que estejam bem. He! 12:59 00:01 — Uma falta|erro foi (e sabes disso) esquecer o registro dos resultados (outputs). Mas, é também naturalmente um exercício|oportunidade para completar a programação. Conforme as declarações anteriores, deve um registro por linha a partir da 32.
  10. Olá, tudo bem? Espero que esteja bem. Para auxiliar a discussão na melhor forma, descreva seu objetivo, exponha quais eram|são as etapas|rotinas|operações do programa e os valores ideais|perfeitos de entrada e saída. No caso de ser um exercício escolar, compartilhe o 'print screen' do enunciado (completo), descreva quais pensa ser as etapas de uma solução e os assuntos que estudou, @Blacky88 Caso tenha dúvida, compartilhe sua versão do código-fonte com dúvida. —
  11. Uma variável global? É um membro static em sua classe. Exemplo: Main.java class divisao{ public static int resultado = 0; static void quociente(int a, int b){ if(b<=a){ quociente(a-b,b); ++resultado; return; }else{ return; } } }; public class Main{ public static void main(String[] args){ divisao.resultado = 0; divisao.quociente(1000,5); System.out.println("quociente de 1000/5 e "+divisao.resultado); } } OU public class Main{ static int resultado = 0; static void quociente(int a, int b){ if(b<=a){ quociente(a-b,b); ++resultado; return; }else{ return; } } public static void main(String[] args){ resultado = 0; quociente(1000,5); System.out.println("quociente de 1000/5 e "+resultado); } } Neste último exemplo, perceber que não declara o objeto para acessar as expressões.
  12. Olá, tudo bem? Outra possibilidade é incrementar uma variável global.
  13. Olá, tudo bem? Espero que esteja bem. Se habilita os alerta do compilador, o primeiro seria sobre o variável `N` que foi usada, porém, não inicializada. Dê oportunidade para edução via compilador com ativação de alerta. Se o n. itens positivos não é menor que negativos deverá um resultado que depende de duas médias: a média (dos itens) e a média somente dos positivos. * Destrave, pense no problema dissociado da questão, faça do problema um sub-exercício e depois importe o que aprendeu. * Codifique uma solução (numa função se preferir) que itera os itens de um vetor e imprime no terminal *, re-codifique a solução anterior para não só imprimir como também adicionar e retornar a soma dos itens *, por último, use a solução para definir a média aritmética; com a divisão de retorno pela quantia de itens Verá código análogo a esta Pode até ser mais|menos verborrágico com relação os nomes das variáveis, o que importa é a lógica. E no caso, existe adição dos itens de `vetPos` em tot, após se calcula o quociente (real) da soma pela quantidade de itens, ou simplesmente, a média.
  14. O como se faz pode ser MELHOR que só fazer Acredito que uma responda deve ser conforme o que estudou antes do exercício (essa é a regra geral) Então * Recorde quais eram os assuntos abordados pré-enunciado do exercício. * Não utilize recursos da linguagem de programação Python que ainda não estudou, ainda que tenha (de alguma forma) conhecimento deles. * Contemple uma solução no mínimo com os assuntos vistos antes desse exercício e também de anteriores: se de algum modo entendeu que serve para o atual. VEJA Acredito que o processo é semelhante ao que se discute no tópico: uma conversão de base 10 (decimal) de inteiro positivo. Cheguei nessa conclusão rapidamente, bastou-me averiguar os exemplos ¹entrada e ³saída do programa. ENTRADA(inputs) 1 5 4 5 8 -1 A saída não é apenas os dígitos juntinhos, é sim um número inteiro (aka) dígitos convertidos numa variável inteiro e impressos após o fim do ‘loop’. RESPOSTA(outputs) print(resposta) #para imprimir o inteiro resposta 15458
  15. Olá, tudo bem? Espero que esteja bem. * Tenho duas suposições. Talvez interessa os recursos na linguagem de programação para responder à pergunta e não escrever uma solução explicita. Do contrário, interessa a uma solução explicita de classificação e não usar uma combinação de métodos do objeto List de C#. * Buscar na documentação C# uma solução que retorne a sub-lista das repetições e com ela determinar as ocorrências e o número de ocorrências. * Iterar a List e no processo usar vetor auxiliar com capacidade igual ao último índice dela e garantir a contagem que não repete o incremento de ocorrências de um número. Para esse objetivo, atribuir valor lógico nos índices do vetor auxiliar após cada nova contagem e ocorrência de valor, uma indicação (lógica) de que o índice da ocorrência será ignorado na próxima contagem. Sugestões.
  16. Olá, de novo. Observe atentamente as saídas (linha por linha). Notará que as sequências são necessárias nas duas últimas saídas. Saídas (resultados) Para não recalcular os termos nas saídas soma e subtração são necessárias variáveis para memorizar as sequências em PA e PG, nesse caso se usa vetor. Caso não queira vetores, repita as expressões que calculam as sequências para produzir esses últimos dois resultados. Os Termos da PG estão arranjados e separados com vírgula (não por nova linha [\n]) #include"stdio.h" int main(void){ int n = 5 , a1 = 1 , q = 2 , an = a1; printf("PG: %d",a1); for(int i = 1; i<n; ++i){ an *= q; printf(",%d",an); } putchar('\n'); return 0; }
  17. Olá, tudo bem? Espero que esteja bem. Para auxiliar a discussão na melhor forma, descreva seu objetivo, exponha quais eram|são as etapas|rotinas|operações do programa e os valores ideais|perfeitos de entrada e saída. No caso de ser um exercício escolar, compartilhe o 'print screen' do enunciado (completo), descreva quais pensa ser as etapas de uma solução e os assuntos que estudou, @chokex Caso tenha dúvida, compartilhe sua versão do código-fonte com dúvida.
  18. Quer a impressão do contador, não somente a cada acúmulo de 1kk e sim também a cada incremento dele? Ao utilizar a impressão usual encheio a tela do terminal de caracteres, para contornar esse formato use o retorno ao inicial da linha com impressão carriage return ('\r'). #include"stdio.h" int main(void){ int contador = 0; while(contador<3000000){ ++contador; printf("\r%d",contador); if((contador%1000000)==0){ printf("\t%d\n",contador); } } return 0; } Assim ou estou viajando, @Thmpv
  19. Olá, não esqueça de contemplar o máximo de comandos numa solução. São tantos comandos que obriga à dispensa das funções padrão para escrever essas rotinas na base de getchar() e putchar(). O que é, etc.? Talvez do, operador condicional (ternário), switch e goto, que corroboraria com a hipótese acima, @gabiz
  20. @Gabrielbxs Existem milhares de coisas mais estimulantes que linguagem de programação, ninguém é punido por não lembrar|procrastinar um exercício no final de período principalmente de c! Solução é pedir adiamento, se ainda não pediu... peça até antes do início do período ou inserção de notas finais. Assista um desses vídeos de 5 horas de duração que existe no YouTube que lá pela metade terá compreendido o necessário para entregar esse trabalho e voltar a viver.
  21. @Thmpv Ola, Aplicada as correções para esse exercício, espero que tenha iniciado a variável de controle do loop , reconheço em novos programadores algumas práticas que vejo em livros velhos encardidos de linguagem c que na atualidade são desnecessárias. Sugiro que declare, doravante, as variáveis junto a seu bloco lógico. Fora as questões estéticas, uma resposta tem seu código-fonte como este: #include"stdio.h" int main(void){ int contador = 1; while(contador<=3000000){ if((contador%1000000)==0){ printf("%d ", contador); } ++contador; } putchar('\n'); return 0; } OU #include <stdio.h> int main(void){ int contador = 1; while(contador<=3000000){ if((contador%1000000)==0){ printf("%d ", contador); } ++contador; } putchar('\n'); return 0; } Tentar é divertido, além humanamento impossível ter o registro exato, existe também a possibilidade de sua impressão ("1000000 2000000 3000000 ") não ocorrer número por número e sim de uma só vez; na saída do loop ou do programa. — É isso!
  22. @Lipeco Aaaah! Meus Parabéns
  23. Precisa de ajuda? Tem o esquema montadinho... agora é resolver cada ‘item’ igualmente o exemplo da atribuição da variável val; notou que existe uma curva da val a variável pr_b[1]? Essa é a deixa para o modus operandi do exercício. Exemplo: j) *(&ptr_b[1] - 2) + 3 Gabarito Tem dúvida pergunte @Lipeco
  24. Penso que é um exercício de imaginação imaginativo, mas dessa maneira é necessário o(s) valor(es) inicial(is)|ou esquema(s) das alíneas. Tem isso ou estou viajando, @Lipeco
  25. Foram boas postagens com temas que não entendia porque não respondia essa pergunta: No final, o Sr. respondeu! Se digo "No final" quero dizer penso que hoje de madrugada. Sinto muito, como assim? Sente muito, por quê? Por demostrar algo inútil e perigoso?

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!