Ir ao conteúdo

Flávio Pedroza

Membro Pleno
  • Posts

    2.145
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. "letra" é um array (de um só elemento, mas ainda assim uma matriz). while(true) { cout << "\nDigite uma letra: "; cin >> letra[0]; for(int i = 0; i < letras; i++) { if(letra[0] == palavraSecreta[i]) //O ERRO ESTÁ(VA) NESSA LINHA! { tabuleiro[i] = letra[0]; } } } Alternativamente você pode alterar a declaração da variável "letra", já que não há muito sentido em declarar um array com um só elemento: char palavraSecreta[30], tabuleiro[30], letra; (...) while(true) { cout << "\nDigite uma letra: "; cin >> letra; for(int i = 0; i < letras; i++) { if(letra == palavraSecreta[i]) //O ERRO ESTÁ(VA) NESSA LINHA! { tabuleiro[i] = letra; } } }
  2. Poste o código que já fez.
  3. Primeiramente, escreva os passos, como você imagina que seria o processo. Quebre em passos sequenciais. Exemplo Passo 1: Cliente escolhe filme e horário Passo 2: Caixa informar se há lugares vagos e quais posições; Passo 3: Cliente escolhe os assentos. Passo 4:...
  4. você primeiramente cria o nó de início da lista. Seguindo o exemplo que dei, chamarei o nó de início de terreo. você também pode armazenar o nó final - o último elemento da lista, que chamarei de cobertura. struct andar { int no_andar; andar *escada;//aponta para o proximo andar - ligacao entre um andar e outro }; andar* terreo = (andar *)malloc(sizeof(andar)); andar* cobertura = terreo; //no início a lista só terah um andar, deste modo o fim e inicio (terreo e cobertura) serao iguais. terreo->no_andar = 0; terreo->escada = NULL; //o predio nao tem escadas inicialmente E então vá adicionando os elementos. Por exemplo, para adicionar 05 elementos novos: //adiciona 05 andares for (int i =1; i <= 5; i++) { andar *novo = (andar *)malloc(sizeof(andar)); //cria um novo andar novo->no_andar = i; novo->escada = NULL; //como este sera o ultio andar, a escada nao aponta para lugar nenhum cobertura->escada = novo; //liga o novo ultimo ao anterior antraves da escada cobertura = novo; //o ultimo andar passa a ser este novo andar criado } Para varrer a lista e imprimir todos os andares, começo do terreo: andar* atual = terreo; //andar atual: terreo while (atual != NULL) //enquanto houver andares no prédio { printf("Andar no: %d\n", atual->no_andar); atual = atual->escada; //"sobe" a escada e vai para o proximo andar } Veja se entende esses conceitos mais básicos.
  5. você pode imaginar uma lista encadeada simples como uma corrente. Cada nó/elemento da lista (ou elo da corrente) está ligado ao próximo e apenas a ele. Essa ligação é realizada através de um campo que aponta para o próximo elemento da lista. você pode percorrer a lista apenas em um sentido, do começo para o fim. Se quiser, por exemplo, acessar o último elemento, terá que percorrer toda lista. Eu exemplo seria um edifício, em que não fosse possível descer, apenas subir. Os andares seriam elementos e as escadas os campos que apontam para o próximo elemento, ou, no caso, o próximo andar. Para ir para o quinto andar, começo do térreo (primeiro elemento da lista) e percorro o primeiro, segundo, etc. andares até chegar o quinto. Não existe escadas ligando o primeiro e quinto diretamente. Cada lance escada liga um andar apenas ao próximo. Em c seria assim: struct andar { int no_andar; andar *escada;//aponta para o proximo andar - ligacao entre um andar e outro }; Espero ter ajudado.
  6. Faça um laço, com "i" variando de 2 a 50. A cada interação, você adiciona a uma variável "soma" o valor 1/i. Depois é só dividir a "soma" por 49 e terá a média.
  7. Tente usar apenas c++, verá que será mais simples: #include <iostream> #include <fstream> using namespace std; typedef struct { int matri,idade; string nome,sexo; float media; }ficha; ficha aluno[50]; int i=0; float mediaS; float av1,av2,av3; int idade; void Add(){ char a; int matricula; system ("cls"); cout<< "UNICARIOCA - BANCO DE DADOS"<<endl; if (i<50){ cout<<"ADICIONAR USUARIO"<<endl; cout<<"Matricula (APENAS NUMEROS): "; cin>>aluno[i].matri; cout<<"Nome: "; getline(cin, aluno[i].nome); cout<<"Idade: ";cin>>aluno[i].idade; cout<<"Sexo: "; cin>>aluno[i].sexo; i++; } } void Salvar(){ string arquivo; system ("cls"); cout<<"Matricula: "<<aluno[i].matri<<endl; cout<<"UNICARIOCA - BANCO DE DADOS"<<endl; cout<<"SALVAR/CARREGAR ARQUIVO"<<endl; cout<<endl<<"Nome do Arquivo Externo: "; cin>>arquivo; ofstream arq(arquivo+".txt"); if (arq.is_open()) for (int j=0;j<i;j++){ arq << "Matricula = " << aluno[i].matri << endl; arq << "Nome = " << aluno[i].nome << endl; arq << "Idade = " << aluno[i].idade << endl; arq << "Media = " << aluno[i].media << endl; arq << "--------------------\n"; } arq.close(); }
  8. void concatena(int *p, int *q, int n) { int r[2*n]; int i; int *t; // sendo n o tamanho do vetor for(i=0; i<n; i++) { r[2*i] = p[i]; // r[2*i+1] = q[i]; } t = r; printf("\n O vetor concatenado: [ "); for(i=0; i<2*n; i++) { printf("%d", t[i]); } printf("]"); } void concatena(int p[], int q[], int n) { int *r = (int *)malloc(sizeof(int)*2*n); int i; int *t; // sendo n o tamanho do vetor for(i=0; i<n; i++) { r[2*i] = p[i]; // r[2*i+1] = q[i]; } t = r; printf("\n O vetor concatenado: [ "); for(i=0; i<2*n; i++) { printf("%d", t[i]); } printf("]"); free(r); } main() { int u[5] = {1, -2, 3, 5, 6}; int v[5] = {0, -8, 4, 7, 9}; int *p = u; int *q = v; concatena(p, q, sizeof(u)/sizeof(u[0]));//calcula o tamanho do array }
  9. Não entendi a sua lógica, mas reescrevi seu código e acho que está funcionando: #include <stdio.h> int main () { int n, divisor, r, soma1, soma2; for (n = 2; n <= 1000; n++) { soma1 = 1; for (divisor = 2; divisor <= n/2; divisor++) { if (n % divisor == 0) soma1+=divisor; //calcula a soma dos divisores } soma2 = 1; if (soma1 != n) for (divisor = 2; divisor <= soma1/2; divisor++) { if (soma1 % divisor == 0) soma2+=divisor; //calcula a soma dos divisores } if (soma2 == n) //verificar se a soma dos divisores eh igual ao numero { printf("\%d e %d sao amigos\n",n, soma1); } } return 0; } O único problema é que a solução é impressa duas vezes, mas deixo isso pra você consentar...
  10. Use uma "flag" int flag = 0; //declarar no escopo adequado if (currentFrame == 9){ currentFrame = 0; flag = 0; // Qaundo o 'currentFrame == 1', execute uma ação somente uma vez // Neste loop o 1 é repetido 4 vezes, preciso que execute a ação somente no primeiro 1 }else{ if ((!flag) && (currentFrame ==1)) { //faça o que tem de fazer flag = 1; //vai impedir de executar novamente } if (slow == 4){ currentFrame++; slow = 0; } slow++ }
  11. Sei que está acima do seu orçamento, mas recomendo fortemente um controle do xbox one s (o que tem Bluetooth). Funciona com TODOS os jogos plug and play. Se tiver adaptador Bluetooth, funciona sem fio. Tem que ter windows 10.
  12. Só o PC ou vai alimentar mais algo? Monitor?
  13. Não sei dizer...talvez uma de 500W seja suficiente. Provavelmente não, a fonte não tem conectores suficientes para alimentar a placa de vídeo. Tem somente 1 conector PCI-E de 4 pinos, sendo que são necessários 2 de 6 pinos. Se fosse usar os adaptadores, teriam que ter 4 conectores molex, e a fonte só tem 2. Enfim, a fonte não foi projetada para alimentar esse tipo de GPU.
  14. Sua fonte seria essa?: https://www.kabum.com.br/produto/43468/fonte-powerx-500w-com-cabo-px500/?origem=13&utm_source=NEWSLETTER&utm_medium=E-MAIL&utm_term=FONTE REAL POWERX 500W PX500 BIVOLT PRETA &utm_content=LINHA-500-W&utm_campaign=FONTE REAL POWERX 500W PX500 BIVOLT PRETA Se for, não teria potência para alimentar essa placa. Geralmente essas fontes de baixo custo só entregam menos da metade da potência que promete. Então, se sua fonte for de 500w, ela, na verdade, entrega apenas 250W. Veja esse tópico: https://www.clubedohardware.com.br/forums/topic/1097144-fonte-real-argus-powerx-500w-px500-r-8577/
  15. sendo assim testei a GTX 970 nela com uma fonte de 400W e funcionou normal, isentando minha fonte OCZ de 600W de ser o problema. Não entendi? Funcionou tudo normal com a fonte de 400W, inclusive na GA-970A-D3?
  16. Nunca ouvi falar. Acho que você tem que trocar a fonte. A placa precisa de 2 conectores de 6 pinos PCIE. No caso, precisaria de 1 ou 2 adaptadores desses: https://produto.mercadolivre.com.br/MLB-692327639-cabo-adaptador-6-pinos-para-2-energia-molex-evga-_JM?quantity=1#position=2&type=item&tracking_id=691d4803-f2d5-443f-8469-89f52cf60140 Mas não recomendo, sua fonte não aguentaria. Espera algum usuário mais experiente aparecer no tópico e recomendar algum modelo de fonte mais apropriado pra você.
  17. Qual seria sua fonte?
  18. Veja se assim funciona (o arquivo tem que ter pelo menos 10 números): #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *arquivo; arquivo = fopen("arquivo.txt", "r"); int i, j, k; int vetor[10]; char txt[10]; char txt2[10]; for (i = 0; i<10; i++) { //ler dez números fscanf(arquivo, "%s", txt); j = 0; k = 0; //Remover caracteres nao numericos while (j != strlen (txt)) { if ((txt[j] >= 48) && (txt[j] <= 57)) { txt2[k] = txt[j]; k++; } j++; } txt2[k] = '\0'; vetor[i] = atoi(txt2); printf("%i ", vetor[i]); } printf("\n"); fclose(arquivo); return 0; }
  19. Posta o código por favor.
  20. Lista *novo = NULL; Lista *antigo = NULL; voo = fopen("voo.txt","r"); while(fgets(line, 50, voo) != NULL){ int iRG; char itemp_nome[20]; char itemp_sobrenome[20]; sscanf(line, "%s %s %d", itemp_nome, itemp_sobrenome, &iRG); novo = (Lista*) malloc(sizeof(Lista)); if (antigo != NULL) antigo->prox = novo; //novo->prox = l; novo->RG = iRG; strcpy(novo->nome, itemp_nome); strcpy(novo->sobrenome, itemp_sobrenome); antigo = novo; //printf("Nome: %s %s \t| RG: %d\n", novo->nome, novo->sobrenome, iRG); } Veja se assim funciona. Lembre-se que ao final, seu programa deve liberar a memória alocada por malloc chamando free, pois c não tem garbage collector.
  21. Eu faria uma solução similar, leria como string e removeria os elementos não números. Depois converteria de string para int usando atoi(); char txt[10]; for (i = 0; i<numero; i++) { fscanf(arquivo, "%i", txt); //remover [ ou ] de txt vetor[i] = atoi(txt); printf("%i ", vetor[i]); }
  22. Pesquise pela função gotoxy(x,y). Com ela, você consegue determinar a posição dos caracteres na tela.
  23. Saberia dizer se a GPU necessita de alimentação extra, direto da fonte?
  24. //while(m!=0 || f!=0); while(m!=0 && f!=0);
  25. Tem como testar em outra TV?

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!