Ir ao conteúdo
  • Cadastre-se

GBMelkor

Membro Pleno
  • Posts

    26
  • Cadastrado em

  • Última visita

Tudo que GBMelkor postou

  1. Resolução: Desativar todos os programas que estão inicializando junto com o Windows, e que não são da Microsoft. Basta fazer o seguinte: Acessar o Executar (tecla Windows + R, ou Inicializar -> Digitar "Executar"); Digitar "msconfig" (sem as aspas); Ir na aba "Serviços"; Marcar a caixinha "Ocultar todos os serviços Microsoft"; Clicar em "Desativar tudo"; Clicar em "Aplicar", depois em "Ok". Reinicializar o PC. Uma outra opção, caso não queira desativar TODOS os programas, é desativar somente os da Intel ou que são relacionados ao vídeo/monitor.
  2. Olá pessoal! Meu notebook simplesmente travou o brilho da tela no médio e não consigo alterar pelas teclas de função (F11/F12) e nem pela gerenciador de brilho do windows... Só pelo Painel de Controle de Gráficos da HD Intel. Também consigo alterar a cor da luz, pelo modo de luz noturna. Esses dias liguei o note, e as teclas funcionaram normalmente por alguns minutos. Mas, do nada, simplesmente começou a oscilar o brilho da tela entre a que eu tinha definido (mínimo), e o médio.. Até que travou no médio. Essa oscilação tem acontecido todos os dias, como se algum programa estivesse forçando o brilho da tela a ficar no médio. Entretanto, o note sempre liga já travado no médio. - Os drivers estão atualizados, já tentei reinstalar eles, trocar o adaptador de vídeo/monitor, alterar registro no regedit, e nada. Tenho o quickset instalado, quando aperto as teclas de birlho, a barra de brilho se move, porém, nada ocorre. Isso acontece independente do SO, tenho um USB Bootável com Linux, ocorreu o mesmo nele. Tenho um notebook dell i15-3567-A40P, comprei recentemente (Aprox. um mês), e tenho usado somente conectado no filtro de linha, sem bateria. O problema também acontece quando estou usando na bateria. Obrigado!
  3. Você pode formatar a impressão de um número real, da seguinte forma: // Número real, com duas casas após a vírgula printf("%.2f", var); // Número real, sem casas após a vírgula printf("%.f", var); Também é possível converter tipos, usando cast: // declaração das variáveis int a = 10; float b; // int para float b = (float) a; ----------------------------- Ok, vamos lá. Você quer salvar várias proteínas diferentes, certo? Logo, você está salvando o nome, a quantidade máxima e a quantidade apresentada. Infelizmente, você está fazendo isso tudo, em uma variável comum... Ou seja: Você está armazenando esses dados, e parte pro próximo nutriente. Neste próximo nutriente, você armazena os dados em cima dos dados do nutriente anterior! Por isso o programa está exibindo somente os dados do último nutriente. --- Para resolver isso, usamos vetores e matrizes. Isso permite o armazenamento de diferentes dados do mesmo tipo. ---- Quando você declarou a variável abaixo, estava declarando um VETOR DE CHAR, ou seja, a variável nome_nutriente, salva 20 caracteres, formando uma "palavra", diferente de uma variável char comum, que salva somente UM caractere. char nome_nutriente[20]; Use esta lógica, para criar um vetor de inteiros, e salvar as quantidades máx. e apresentada! int qtdMax[5], qtdApresentada[5]; Procure estudar VETORES (para salvar as diferentes quantidades) e MATRIZES (para salvar os diferentes nomes dos nutrientes).
  4. GBMelkor

    Outro conte de 10 a 100

    Crie uma variável do tipo inteiro, inicialize com o valor 10. Você precisa aumentar o valor, de 1 em 1, até atingir 100. Fazer isso manualmente é extremamente desnecessário, pra isso, usamos Laços, ou "loops". Temos, por exemplo: while( condição ){ } Que irá executar as instruções até que a condição inserida como parâmetro seja satisfeita/verdadeira. A condição é verificada ao entrar no laço, e ao fim de cada "volta". EX: while( i < 100 ){ // Código do programa i++; } for( valor inicial da variável; condição; incremento do valor da variável) Também executa enquanto a condição for insatisfeita, porém, você tem a opção de inicializar e incrementar a var, ao fim de cada "volta" do loop. for(int i = 0; i < 100; i++){ // Código do programa } do / while( condição ); Diferente do while, a condição não é verificada ao entrar no loop, somente ao fim de cada volta. do{ // Código do programa i++; }while(i < 100);
  5. Quando conseguir resolver, poste a resolução para ajudar quem estiver com a mesma dúvida! --- Uma variável de escopo global: É acessível em qualquer parte do programa, ou seja, você pode usá-la em qualquer módulo; Cria dependências no programa, aumentando a sua complexidade; Torna o programa menos legível, visto que o programador deverá buscar fora do módulo, a declaração da variável. "Estou vendo esta variável aqui, mas de onde ela vem?" Existem durante toda a execução do programa Ou seja, mesmo que você não estiver usando, ela estará ocupando espaço na memória. Imagine esta situação em programas de alta complexidade, que exigem economia de memória... #include <stdio.h> #include <stdlib.h> // Declaração de uma variável do tipo CHAR, e com escopo global char a; int main(void){ // Código do programa (...) return 1; }
  6. Tópico fechado, não houve soluções para o problema especificado. Código alternativo, para remoção de números ímpares de uma lista: TpPont * removerImpar(TpPont *P){ TpPont *N = new TpPont; N = inicializar(); while(!vazia(P)){ if((P -> info%2) == 0) N = inserir(N, P -> info); if (P != NULL) P = P -> prox; } delete(P); return N; }
  7. @NhemonF O programa está bem legal! Não olhei a fundo, então não verifiquei erros de lógica ou trechos que podem ser melhorados, mas as sugestões que te dou são relativas à legibilidade do programa. ----------- Tente modularizar mais, isso vai deixar o programa mais "reutilizável". Por exemplo, você pode criar uma função só para imprimir as linhas: // Função que imprime uma linha horizontal na tela, usando sinais de = void imprime_Linha(void){ printf("====================================================\n"); } São boas práticas para obter maior legibilidade: Modularizar as partes do programa (Inserção de dados / Cálculos / Menus) Somente deixar na main a chamada de funções, ou criar um menu chamando as funções, e chamar este menu na main. Ex: [1] Inserir dados; [2] Calcular x quantidade; (...) Comentar o que faz cada função, ex: // Função usada para fazer tal coisa Usar poucas variáveis, e com nomes pequenos.
  8. Coloque o código aqui, por favor..
  9. @Flávio Pedroza Não deu certo :/, mas entendi o que você quis dizer! O programa executa normalmente, apenas não exibe a lista... Essa é a função que exibe: void exibir(TpPont *P){ while(!vazia(P)){ printf(" %d ", P -> info); P = P -> prox; } } Ela executa normalmente antes da chamada da função removePar, mas após isso, a lista é dada como "vazia", por isso suspeito que o valor do ponteiro seja NULL... OBS: Já havia feito uma depuração, por isso sei que a lista é dada como vazia. O programa segue, entra na função exibir, faz a verificação do while, mas não entra nele.
  10. Pessoal, não estou conseguindo exibir a lista resultante desta função: TpPont * removerPar(TpPont *P){ int elem = 0; while(!vazia(P)){ P = P -> prox; if((P -> info)%2 == 0){ P = retirar(P, elem); } } return P; } --- Também fiz do jeito abaixo, que deu certo e é exibido corretamente. Logo, o erro não está nas funções usadas ( retirar, inserir, vazia...): TpPont * removerImpar(TpPont *P){ int elem; TpPont *N = new TpPont; N = inicializar(); while(!vazia(P)){ if((P -> info%2) == 0){ N = inserir(N, P -> info); } P = P -> prox; } delete(P); return N; } --- Imagino que seja algum erro de lógica, creio que, após percorrer toda a lista, a função retorna um ponteiro com valor null... O que vocês acham?
  11. Boa tarde, @mick 07 ! Como eu não soube escolher entre esses dois, acabei escolhendo este aqui: Notebook Lenovo Ideapad 330S-15IKB Intel Core i5 - 8GB 1TB Optane 16GB 15,6” Placa de Vídeo 2GB. Obrigado!
  12. Que estranho! Mas ok, ótimo que conseguiu! =D
  13. Abra o "Meu Computador", puxe a lixeira até a aba de acesso rápido e ela irá ser adicionada! OBS: Não precisa ser necessariamente a pasta "Meu Computador", qualquer pasta serve. Apenas usei como exemplo por ser uma pasta "padrão".
  14. Boa tarde pessoal! Estou em dúvida entre estes dois notebooks, pois nunca tive um samsung, logo, não sei o quão "bom" é esta marca, quando trata-se de notebooks. Não sei se superaria um Dell, por exemplo.. Estou buscando algo que dure no mínimo uns 4 anos. Notebook Samsung Expert + Gfx X40 Intel Core i5 (Oitava Geração) 8GB 1TB 15,6” Placa de Vídeo 2GB Windows 10 Notebook Dell Inspiron 15 i15-3567-A40P - Intel Core i5 (Sétima Geração) 8GB 1TB 15,6” Windows 10 A diferença de preço entre ambos é mínima (R$60). Minha necessidade é bem simples: programação (faculdade), e de vez em quando jogar algo (The Witcher 3 com as configurações no mínimo, por exemplo, seria o jogo mais pesado). Alguém poderia, por favor, clarear a minha mente lerdinha? Obrigado!!
  15. FILE *file; char cpf; //Aqui você está declarando um char Ficha *ficha = NULL; printf("\n\nInforme o CPF: "); fflush(stdin); scanf("%s",&cpf); //Aqui você está lendo uma string.
  16. Ao usar o tam1, você desconsidera o tamanho de VetUnião. Eu criaria uma variável TLU, representando o tamanho lógico de VetUnião, e incrementaria sempre que um elemento fosse inserido neste. Dessa forma, você tem a segurança de que exibirá todos os elementos de VetUnião, e sem a gambiarra que mencionei acima.
  17. O Erro está no tamanho de "Tam1", note que se você aumentá-lo em 2, ele exibirá o 7 e 8. Substitua as linhas de exibição por esta: tam1 = tam1 + 2; printf("\n\nVetor união: "); for(i=0; i<tam1; i++) printf("\t%d", *(x3+i));
  18. Site com vários chatbots americanos. http://benditoingles.com.br/praticar-inglês-com-robos
  19. Tente estes dois links aqui amigo. https://www.oficinadanet.com.br/post/13178-bloqueando-acesso-ao-computador-em-determinados-horarios Programinha que bloqueia o PC em determinados horários: http://www.horario-pc.com/
  20. Utilize este site: https://www.systemrequirementslab.com/cyri Com ele, você pode escrever o nome dos jogos que deseja jogar e ver se o seu pc roda.
  21. Você está somando somente a posição da linha 5 coluna 5: for(i=0; i < 5 ; i++){ for(j=0;j<5;j++){ if(i == 0){ somac=somac+matriz[5]5]; } } } Você deve usar os contadores como linha e coluna, pois eles são incrementados com o laço. for(i=0; i < 5 ; i++){ for(j=0;j < 5;j++){ if(i == 0){ somac = somac + matriz[i][j]; } } } . Também é necessário que inicialize a variável SOMAC com 0, por definição, todas as variáveis da função main são inicializadas com LIXO, ou seja, valores que não te interessam no desenvolvimento do programa. Mais algumas observações: o i dentro do IF, foi trocado para J, pois o que te interessa é a soma das primeiras posições... I só será 0 uma vez. Você pode inserir #define TF 5, logo abaixo do seus #includes, antes da int main. Dessa forma, você está declarando uma constante TF de valor 5, que não será alterada durante o programa. A expressão somac = somac + matriz[j], pode ser simplificada para: somac += matriz[[j]; Portanto, o código correto fica: somac = 0; for(i=0;i<TF;i++){ for(j=0;j<TF;j++){ if(j == 0){ somac=somac+matriz[i][j]; } } }
  22. O correto é você postar o que já fez, para que nós façamos a correção e auxiliamos na resolução. Mas observe: No início do programa, declare o vetor desse jeito: int vetor[n]; Faça a leitura em uma variável auxiliar, e coloque um if verificando se é ou não um valor válido, caso seja, n receberá o valor de aux. Caso contrário, a leitura deverá ser feita novamente... Ou seja, você pode resolver com um laço.. while(valido == 0){ scanf("%d",&aux); if(aux >= 1 && aux <= 1000){ n = aux; valido = 1; //Dessa forma, o while será interrompido, pois a leitura foi válida. } else //Este pode ser retirado, pois caso ele não passe pelo if, o laço será percorrido novamente, ou seja, lerá aux de novo. scanf("%d",&aux); } Este bloco pode ser simplificado ainda mais, estude-o atentamente e verá que é possível resolver com 5 linhas de código ou menos.
  23. Sobre o programa: https://new.abb.com/low-voltage/pt/launches/seletividade/tools-support/doc Link direto do download: https://new.abb.com/low-voltage/pt/support/software/e-design/download
  24. Ponto e vírgula após o for, no laço de soma.
  25. @Math.Pi Muito obrigado amigo, me ajudou muito!

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