Ir ao conteúdo
  • Cadastre-se

Flávio Pedroza

Membro Pleno
  • Posts

    2.067
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. Não sei se entendi muito bem sua pergunta, mas basta declarar dentro da classe. Exemplo: #include <iostream> using namespace std; class Classe { public: static void membro_estatico() { cout << "Este é um método estático"; } }; int main() { Classe::membro_estatico(); return 0; }
  2. Provavelmente acontece isso por causa do "ENTER" que você para inserir o número. Tenta isso: printf("n: "); scanf("%d", &n); getchar();//se livra do ENTER printf("operacao '*' para multiplicar, '+' para somar"); op = getchar(); De modo semelhante: printf("n: "); scanf("%d%*%c", &n);//*%c faz o scanf ignorar o ENTER printf("operacao '*' para multiplicar, '+' para somar"); op = getchar();
  3. printf("operacao '*' para multiplicar, '+' para somar"); scanf("%c", &op); Tenta assim.
  4. Tá faltando um break. Lembre-se, casa "case" tem que ter o "break" correspondente. case 1: //mamiferos printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico"); scanf("%d", &op2); switch(op2) { case 1: //quadrupedes printf("\n1 para carnivoros \n2 para herbivoros"); scanf("%d", &op3); switch(op3){ case 1: //carnivoros printf("Leao"); break;//op3 - case 1 case 2://herbivoros printf("Cavalo"); break;}//op3 - case 2 break;//op2 - case 1: Bota uns cometários como fiz, para se guiar.
  5. O correto seria: sint main() { int op, op2, op3; printf("-----------------------MENU--------------------"); printf("\n1 para mamiferos\n2 para aves\n3 para repteis"); printf("digite a opcao: "); scanf("%d", &op); switch(op){ case 1: //mamiferos printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico"); scanf("%d", &op2); switch(op2) { case 1: //quadrupedes printf("\n1 para carnivoros \n2 para herbivoros"); scanf("%d", &op3); switch(op3){ case 1: //carnivoros printf("Leao"); break; case 2://herbivoros printf("Cavalo"); break; } break; case 2: //bipedes break; case 3: //voador break; case 4: //aquatico break; } break; case 2: //aves break; case 3: //repteis break; } return 0; }
  6. O primeiro passo é ler corretamente o nome, pois o scanf não aceita espaços. Use fgets. int main() { printf("Digite seu nome"); fgets(nome, 50, stdin); nome[strlen(nome)-1]="\0";//remove o enter você pode usar a função strstr para encontrar a primeira ocorrência do espaço e assim delimitar o nome/sobrenome: char* ch = strstr (nome, " " ); int pos = ch - nome; pos vai dizer em que posição o espaço está. Então você deve separar o nome em dois: primeiro_nome e sobre_nome. você copia os caracteres de 0 até pos-1 no primeiro_nome e de pos+1 até o fim em sobre_nome. Depois é só imprimir na tela ordem que você quer. Veja se consegue terminar.
  7. A maneira mais simples para "embaralhar" (criptografar) é deslocar os elementos uma certa quantidade de casas. Essa quantidade é a chave: void encriptar(char* vetor, char* cripto, int chave) { int tam = strlen(vetor); for (int i = 0; i< tam; i++) cripto[(i+chave) % tam] = vetor[i]; printf("%s\n", cripto); } a função acima deslocar os elementos em "chave" casas. Para descriptografar, chame novamente a mesma função, mudando a chave: //***Criptografar encriptar(vetor, cripto, chave); //***Descriptografar encriptar(cripto, descripto, tam - chave); "chave" deve ser menor ou igual ao tamanho do veto original. "cripto" é um vetor que armazena o resultado criptografado, que deve ter tamanho igual a "vetor"; "descripto" é um vetor que armazena o resultado descriptografado, que também deve ter tamanho igual a "vetor";
  8. //scanf("%f %f", &codigo[i], &price[i]); scanf("%d %f", &codigo[i], &price[i]); Percebi esse erro. Mas, tirando esse, qual seria o problema?
  9. O problema que o resultado pode dar um número irracional (na maioria das vezes, na verdade), pois nem sempre a raiz quadrada será um número exato, de modo que não há como representar esse números em forma de fração. Mas se quiser, poderia implementar um código para representar a saída da forma (2 + raiz(3))/2, por exemplo, simplificar nos casos de raiz exata e etc., mas deixaria o código um tanto mais complexo.
  10. Os números aleatórios são "lixo" da memória. você tem que definir um valor padrão para as variáveis a fim de evitar isso: int v1[8] = {0,0,0,0,0,0,0,0}; int v2[8] = {0,0,0,0,0,0,0,0}; int v[8] = {0,0,0,0,0,0,0,0}; //essas de baixo não precisa int i, x, aux; Em relação a segunda parte, crie dois contadores (cont_pos e cont_neg), um para os número positivos e outro para os negativos e incremente-os de acordo com as entradas do usuário e na hora de imprimir faça: for(i=0; i<cont_pos; i++){ printf("\nvalores positivos %d", v1[i]);} for(i=0; i<cont_neg; i++){ printf("\nvalores negativos %d", v2[i]);} Perceba no código acima que os laços só serão executados caso cont_pos e cont_neg sejam maiores que zero.
  11. O processador reduz o desempenho (velocidade do clock) quando a temperatura ultrapassa um certo limite. Isso ajuda a esfriá-lo e a manter a temperatura dentro dos limites aceitáveis. É o chamado "thermal throttling". Tente verificar se isto está acontecendo com você. Monitore o clock do processador nas situações em que a temperatura atinge o máximo. Se for isso, então uma solução de resfriamento mais eficiente iria ajudar na performance sim.
  12. você acrescenta o ler.nextLine() em caso de erro para que ele "pule" a entrada errada, caso contrário, o código vai ficar repetidamente tentado validar a mesma entrada errada. Não sei se ficou claro.
  13. import java.util.Scanner; public class Ex3{ public static void main(String args[]){ Scanner ler = new Scanner(System.in); int n = 0; int a = 0; while(a == 0){ try{ System.out.println("DIGITE UM NÚMERO INTEIRO:"); n = ler.nextInt(); a = 1; } catch(java.util.InputMismatchException e){ a = 0; System.out.println("VOCÊ DIGITOU UM CARACTERE INVÁLIDO. DIGITE UM NÚMERO INTEIRO!"); ler.nextLine();//*********************************************************************** } } } }
  14. Não entendi muito bem, tem como você postar um exemplo de código em acontece esse problema?
  15. Então, na configuração PULLUP o pino JÁ ESTÁ LIGADO internamente ao +5v. https://autocorerobotica.blog.br/resistores-pull-up-e-pull-down-como-funcionam/ Veja se tem como mudar o pino pra PULLDOWN através de algum comando ou algo assim, que é a configuração que você está querendo..
  16. Não entendo de arduino, mas se a configuração do circuito for pullup, o funcionamento está correto (será lido sempre HIGH, a menos que você force o LOW externamente).
  17. Seu laço, na verdade, deveria ser assim: for(int i=n; i > 0; i=-k){ //comeca em n e decremento k if (m>0) { soma+=i; m--; } } você define m, n e k. Veja se consegue imprimir os resultados solicitados pelo problema.
  18. você passa dois valores, um mínimo e um máximo e ela retornar o valor digitado pelo usuário. Se o valor digitado está fora dos limites, a função fica em loop até um valor válido ser digitado.
  19. Acho bom limitar. Se você está repetindo o mesmo código várias vezes, faça uma função: #include <iostream> using namespace std; int input_check(int min, int max) { int x = min-1; cout << "Digite um valor entre " << min << " e " << max << endl; while ((x < min) || (x > max)) cin >> x; return x; } int main() { int x; x = input_check(10, 100); cout << x << endl; x = input_check(1, 5); cout << x << endl; x = input_check(0, 10); cout << x << endl; x = input_check(-10, 10); cout << x << endl; return 0; }
  20. Pode ser o seu monitor então, acredito que o técnico testou com o monitor dele não foi? Esses adaptadores as vezes apresentam incompatibilidade.
  21. A GTX pode estar com defeito então. Tem que testar em outro PC. Leva em um técnico. adicionado 1 minuto depois Edit: pode ser também o conector HDMI-VGA. Nesse caso, teste com outro monitor com HDMI ou em um TV.
  22. Se colocar de volta a R5 volta a funcionar normal?
  23. Essa Gtx 760 requer alimentação extra direto da fonte? Se sim, plugou o cabo de alimentação?
  24. #include <stdio.h> #include <string.h> int qtd(int num) { int qtdnumeros; char num_str[64]; //64 eh suficiente? //você tem que conveter num em string antes. Tente fazer sozinho //num -> num_str qtdnumeros = strlen(num_str); return qtdnumeros; } int main() { int num; scanf("%d", &num); //int qtd (int num); printf("%d", qtd(num)); return 0; }

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!