Ir ao conteúdo
  • Cadastre-se

Flávio Pedroza

Membro Pleno
  • Posts

    2.063
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. Com esses valores que você usou (8, 9 e 7) não há resposta no conjunto dos reais (o delta é menor que 0). Tente usar outros valores (use "C" com número negativo).
  2. (...) public static void Main(string[] args) (...) Console.WriteLine("A raiz 2 é: "+ r2); P.S. O programa calcula a solução de uma equação de 2o grau, e não a raiz quadrada.
  3. Do próprio fabricante: http://smslegrand.com/uploads/1/0/5/5/105549193/manual_sms_net_winner_4.pdf "IMPORTANTE: Não utilize o nobreak para alimentar motores AC (refrigeradores, furadeiras, ventiladores, liquidificadores, aspiradores de pó, entre outros), reatores eletromagnéticos, computadores que possua fontes com PFC ativo, impressoras laser, copiadoras e equipamentos de sustentação a vida.".
  4. você encontra muita coisa na internet, se não se importar de ser em inglês. Procure por "linked lists". Exemplo: https://www.geeksforgeeks.org/data-structures/linked-list/ https://www.tutorialspoint.com/data_structures_algorithms/linked_list_algorithms.htm
  5. Desculpe-me, tinha um erro no for: for (i=lista; i != NULL ; i = i->proximo)
  6. #include<iostream> #include<cstdlib> #include <stdio.h> using namespace std; int main(){ int l,c; char r; for(l=1;l<=10;l++) { for(c=1;c<=10;c++) if (l!=c) cout<<"\n time " << l << " x time " << c; } cout<< "\n \n Pressione enter:"; cin.ignore(); }
  7. Veja se assim funciona: void marcar_concluida_id (Tarefa* lista){ Tarefa* i; int id; printf("Id: "); scanf("%d", &id); for(i=lista; i != NULL; i = i->proximo) { if (i->id == id) i->concluida=1; } } Do jeito que estava antes, você estava fazendo o contrário (concluindo todos que o id NÃO fosse igual). Listas encandeadas só vão para frente. Isso de subtrair 1 do ponteiro NÃO funciona do jeito que você acha que funciona (não vai pegar o anterior, você só está corrompendo o ponteiro, fazendo-o apontar para endereço de memória não alocado por ele: if(i->data.ano < (i-1)->data.ano) //NAO FACA ISSO! Veja se assim funciona: void tarefa_menor_data (Tarefa* lista){ Tarefa* a = lista; Tarefa* i; for (i=lista; i != NULL ; i->proximo) if(i->concluida==0){ if(i->data.ano < a->data.ano){ a=i; } else if (i->data.ano == a->data.ano){ if(i->data.mes < a->data.mes){ a=i; } else if (i->data.mes == a->data.mes){ if(i->data.dia < a->data.dia){ a=i; } } } } if ((a != NULL) && (a->concluido == 0)) mostra_tarefa(a); else printf("Nao ha tarefas abertas\n"); }
  8. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int ru; int x; int *ponteiroRu = &ru; int *ponteiroX = &x; printf(" Insira seu Ru: \n"); scanf("%d",&ru); printf(" Digite um valor : \n \n "); scanf("%d",&x); printf (" Ru do aluno: %d \n", *ponteiroRu); printf(" Valor do digitado: %d \n \n \n ", *ponteiroX ); if (*ponteiroRu > *ponteiroX)//se e maior, entao ja eh diferente printf(" O valor do Ru e maior que o valor X digitado "); else if (*ponteiroRu < *ponteiroX) printf(" O valor do Ru e menor que o Valor X digitado" ); else printf(" Os valores sao iguais. "); return 0; } Para dereferenciar (pegar o valor armazenado no endereço da memória referenciado pelo ponteiro), use "*". Outra coisa, esse tipo de construção é ambígua (a > b && a != b)
  9. for (int j = 0; j < coluna; j++) ///IMPRESSÃO DAS MATRIZ TRANSPOSTA { for (int i = 0; i < linha; i++) { printf("%d\t", mat1[i][j]); } printf("\n"); } for (int i = 0; i < linha; i++) ///IMPRESSÃO DA MATRIZ MULTIPLICANDO PELA RU { for (int j = 0; j < coluna; j++) { if (i == j) printf("%d\t", mat1[i][j]*51); else printf("%d\t", mat1[i][j]); } printf("\n"); }
  10. Api do windows (memoria e espaço em disc). GetDiskFreeSpaceEx GlobalMemoryStatusEx function https://docs.microsoft.com/pt-br/windows/desktop/api/fileapi/nf-fileapi-getdiskfreespaceexa https://docs.microsoft.com/pt-br/windows/desktop/api/sysinfoapi/nf-sysinfoapi-globalmemorystatusex
  11. O sentinela fica no início e no fim da lista, ou seja, o sentinela aponta para o primeiro elemento da lista e o ultimo elemento da lista aponta para o sentinela..
  12. Vega 8, veja no site do próprio fabricante. https://www.amd.com/pt/products/apu/amd-ryzen-3-2200g
  13. Provavelmente "pedra_aux" não foi inicializada (é NULL), ou seja pedra_aux = play.ProcurarPedras(peça_selecionada); "play.ProcurarPedras" está retornando NULL. Veja Point peça_selecionada = new Point(-1,-1);//criamos uma variavel do tipo Point para guardar a posiçao da peça que vamos mexer E você mesmo diz: //inicializamos-a na posiçao (-1,-1) porque estas posiçoes nao existem no tabuleiro Ou seja, você está procurando uma posição não existente no tabuleiro, então é natural que "play.ProcurarPedras" retorne NULL.
  14. Pesquisando vi que é um BUG do compilador usado pelo codeblocks: https://stackoverflow.com/questions/12975341/to-string-is-not-a-member-of-std-says-g-mingw https://stackoverflow.com/questions/19893922/c11-to-string-to-working-with-codeblocks-std-c11-flag-already-selected De todo modo, não tem muito importância, pois provavelmente essa função to_string é apenas uma implementação da solução que você usou, com stringstream.
  15. Veja se usando "#include <string>" funciona o to_string.
  16. você diz semi-mecânicos? São propaganda enganosa. você é levado a crer que seria um teclado com algumas teclas mecânicas e algumas de membrana, mas eles são 100% de membrana. Se tiver anti-ghosting pode ser que justifique, dependendo o preço. Caso contrário, não vejo vantagem em relação ao um teclado normal.
  17. Só complementando, eu pessoalmente não gastaria mais de R$ 300,00. Acima disso, preferia comprar uma nova.
  18. Procura uma assistência na internet e pede orçamento. Ex.: Getech Informática - nunca usei, mas tem um canal no youtube e parecem profissionais.
  19. Pra confirmar testa em outro PC. Qual sua placa de vídeo? Tem assistência que recebe pelo correio. Dependendo da placa, pode valer a pena o conserto.
  20. Não vai (pelos menos não normalmente). scanf só retornar EOF em caso de erro de leitura.
  21. int criarPiramede() { int ini = 1; int fim = x; while (ini <= fim) { for(n = 1; n <= x; n ++) { if ((n>=ini) && (n<=fim)) cout << n << " "; else cout << " "; } cout << endl; ini++; fim--; } return 0; }
  22. Converte de numeral para string e depois mostra o tamanho da string: #include <iostream> using namespace std; int main() { int num = 2233303; cout << "Algarismos: " << to_string(num).length(); return 0; }
  23. Adaptei um pouco o seu código, de modo a simplificar. Veja se está funcionando do jeito que queria: #include <stdio.h> #include <stdlib.h> typedef struct no{ int keys[2]; int nkey; struct no *subnos[3]; //0 - lef, 1 - middle, 2 - right }No; No *CriaNovo(){ No *aux; aux = (No *)malloc(sizeof(No)); return aux; } No *criaNo(int ch1, int ch2, int nchaves, No *pl, No *pc, No *pr){ No *n = CriaNovo(); n->keys[0]=ch1; n->keys[1]=ch2; n->nkey=nchaves; n->subnos[0] = pl; n->subnos[1] = pc; n->subnos[2] = pr; return n; } No *busca(No *raiz, int chave){ No* aux = NULL; if(raiz==NULL){ return NULL; } for (int i=0; i < raiz->nkey; i++) if(chave == raiz->keys[i]){ return raiz; } for (int i=0; i < 3; i++) { aux = busca(raiz->subnos[i], chave); if (aux != NULL) break; } return aux; } void imprimir(No *no){ No* aux = NULL; if(no==NULL){ printf("Arvore vazia!\n"); return; } for (int i=0; i < no->nkey; i++) { printf("%d ", no->keys[i]); } printf("\n"); for (int i=0; i < 3; i++) { aux = no->subnos[i]; if (aux != NULL) imprimir(aux); } } int main(){ No *a, *b, *c, *d, *e, *f, *g; No *aux; e = criaNo(1, 2, 2, NULL, NULL, NULL); f = criaNo(2, 3, 2, NULL, NULL, NULL); g = criaNo(3, 4, 2, NULL, NULL, NULL); c = criaNo(4, 5, 2, g, f, e); b = criaNo(5, 0, 1, NULL, c, NULL); a = criaNo(6, 0, 1, b, NULL, NULL);//raiz /* Estrutura da rede de nós a / | \ b * * / | \ * c * / | \ e f g */ imprimir(a); printf("Resultado da busca:\n"); imprimir(busca(a, 4)); //busca no "c" a partir da raiz "a" free(e); free(f); free(g); free(c); free(b); free(a); return 0; } Estão faltando as demais funções (insere, quebra, etc...)
  24. A primeira coisa e converter cada linha em um campo separado do tipo necessário. Neste exemplo abaixo, a linha é varrida e cada campo é separado em um campo da estrutura "leitura": #include <iostream> using namespace std; struct leitura { int data, hora; float temperatura, umidade, pressao; }; void separa_dados (string str, leitura* dado) { float dados[5]; int pos1; int pos2 = -1; for (int i=0; i < 5; i++) { pos1 = pos2+1; pos2 = str.find(";", pos1); dados[i] = stof(str.substr(pos1, pos2-pos1)); } dado->data = dados[0]; dado->hora = dados[1]; dado->temperatura = dados[2]; dado->umidade = dados[3]; dado->pressao = dados[4]; }; int main() { leitura dado; string str = "20190101;1200;33.3;88;1010.5"; separa_dados(str, &dado); cout << dado.data << " " << dado.hora << " " << dado.temperatura << " " << dado.umidade << " " << dado. pressao; return 0; } O próximo passo é você fazer de forma iterativa, para cada linha chamar a rotina separa_dados e fazendo dos cálculos.

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!