Ir ao conteúdo
  • Cadastre-se

Flávio Pedroza

Membro Pleno
  • Posts

    2.068
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. Nesse caso, tente essa solução: #include<stdio.h> #include<stdlib.h> // biblioteca para usar as funções rand e srand. #include<time.h> // biblioteca para usar a função time. #include<locale.h> // biblioteca para linguagem #include<memory.h> main(void) { srand(time(NULL)); setlocale(LC_ALL, "Portuguese"); // comando para aceitar palavras em português. int i, contador=0, n=75, t = 0, j; int vetor[n]; memset(vetor, 0, n*sizeof(int)); //zera vetor for( i=1; i<76; i++) { printf("[ X]"); if(i%15==0) { printf("\n"); } } do { t=rand()%75+1; printf("Numero soterado:%i\n", t); getchar(); vetor[contador]=t; system("cls"); for( i=1; i<76; i++) { if (vetor[i-1] != 0) printf("[%2i]", vetor[i-1]); else printf("[ X]"); if(i%15==0) { printf("\n"); } } contador++; } while (contador <=75); }
  2. #include<stdio.h> #include<stdlib.h> // biblioteca para usar as funções rand e srand. #include<time.h> // biblioteca para usar a função time. #include<locale.h> // biblioteca para linguagem main(void) { srand(time(NULL)); setlocale(LC_ALL, "Portuguese"); // comando para aceitar palavras em português. int i, contador=1, n=75, t = 0, j; int vetor[n]; for( i=0; i<75; i++) vetor[i]=rand()%75+1; do { contador++; system("cls"); for( i=1; i<76; i++) { if (vetor[i-1] == t) printf("[ X]"); else printf("[%2i]", vetor[i-1]); if(i%15==0) { printf("\n"); } } getchar(); t=rand()%75+1; printf("Numero soterado:%i\n", t); getchar(); } while (contador <=75); Essa solução é próxima do que quer. O problema é que o X não permanece. Deixo isso pra você consertar.
  3. int iniciarVotacao(){ struct candidatos presidente; struct candidatos deputado; int votoPresidente = 0; int votoDeputado = 0; int i = 0; //presidente.nomeCandidado = 0; //nomeCanditato é do tipo string, nao pode atribuir inteiro presidente.nomeCandidado[0]='\0'; //isso faz com que a string fique em branco (nula); deputado.numCandidato = 0; // erro printf("Número do candidato para a Presidência => "); scanf("%d", &votoPresidente); printf("\nNúmero do candidato para Deputado => "); scanf("%d", &votoDeputado); for(i = 0 ; i < 11 ; i++){ if(listar[i].numCandidato == votoPresidente && listar[i].numCandidato < 50){ //faltou o [i] presidente = listar[i]; }// 2° erro acontece if(listar[i].numCandidato == votoPresidente && listar[i].numCandidato > 1000){//faltou o [i] deputado = listar[i]; } }
  4. if (seletor == 'X'){ jog2 = "Computador"; Essa sintaxe está incorreta, não é assim que se compara/atribui strings em c. Pesquise as funções strcmp e strcpy
  5. int y[150] = {0};//declare esse novo vetor; você pode fazer um laço variando de 0 até 300 e calcular y da seguinte maneira: y[i/2]+=x[i]; Cada elemento do vetor y será a soma de dois elementos seguidos de x. Não sei se é isso que procurava. Não entendi parte do [1,-1]?
  6. A única maneiro que conheço e ler linha por linha do arquivo e ir gravando as linhas igualmente, exceto aquela linha que quer alterar, em outro arquivo .txt. Este outro arquivo terá o mesmo conteúdo do anterior, excetuando a alteração. Apague o arquivo original e renomeie o arquivo novo para o mesmo nome do antigo. Também é possível ler totalmente o arquivo na memória, alterar a linha e depois reescrever o arquivo original, eliminando a necessidade de outro arquivo temporário. O ideal, para o seu caso, seria um banco de dados.
  7. Tem certeza que seu monitor suporta? HD a resolução máxima e 1280 x 720
  8. #include <stdio.h> int main(){ int n, cont, soma, aux, i; scanf("%d", &n); aux = 0; for(i=1; i<n; i++) { if (n%i==0) { aux += i; } } if (aux == n) { printf("NUMERO PERFEITO"); } }
  9. #include <stdio.h> int main(){ int valor1,valor2,valor3,valor4,valor5,valor6,valor7; printf ("digite o valor1\n"); scanf("%d",&valor1); scanf2: printf ("digite o valor2\n"); scanf("%d",&valor2); if (valor2==valor1){ printf("valor repetido insira novamente\n"); goto scanf2; } scanf3: printf ("digite o valor3\n"); scanf("%d",&valor3); if (valor3==valor2){ printf("valor repetido insira novamente\n"); goto scanf3; } ou #include <stdio.h> int main(){ int valor1,valor2,valor3,valor4,valor5,valor6,valor7; printf ("digite o valor1\n"); scanf("%d",&valor1); do { printf ("digite o valor2\n"); scanf("%d",&valor2); if (valor2==valor1) printf("valor repetido insira novamente\n"); } while (valor2==valor1); do { printf ("digite o valor3\n"); scanf("%d",&valor3); if (valor3==valor2) printf("valor repetido insira novamente\n"); }while (valor2 == valor3); }
  10. Em um desses arquivos vai ter um método com o nome de Main. Algo assim: using System; class HelloWorld { static void Main() { Console.WriteLine("Hello World"); } } Este é o arquivo que deve ser executado. Os demais, coloque na mesma pasta. Adicione os arquivos ao projeto (no visual studio é [Add] - > [Existing Item...], ou algo assim. Não sei como é nessa IDE em particular): Edit: você pode abrir o .cs no notepad ou na própria IDE.
  11. Corrigi algumas coisas no seu código. Não está 100%, mas é uma base para você continuar: #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char palavra [21]; char lacuna [21]="--------------------"; char letra; char erros [21]; char tam; int vidas = 5; int retorna; int pontos = 0; int cont; int cont2 = 0; printf("Digite uma palavra para o joguinho: "); scanf("%s", palavra); system("cls"); getchar(); tam = strlen(palavra); while (vidas > 0){ retorna = 0; printf("\n%s\n", lacuna); printf("Digite uma letra: \n"); letra = getchar(); getchar(); erros[cont2]=letra; erros[cont2+1]='\0'; printf("Letra digitada %s\n", erros); cont2++; for(cont = 0; cont<tam; cont++) { if( letra == palavra[cont]){ lacuna[cont] = palavra[cont]; retorna++; pontos++; } } if(pontos == tam){ printf("\nVoce acertou a palavra, muito bem!!!!!!!"); break; } if(vidas == 0){ printf("voce perdeu a palavra era %s", palavra); break; } if(retorna == 0){ printf("\nvoce errou uma letra restam %d vidas", vidas); vidas--; } else{ printf("\nVoce acertou uma letra, continue assim!!!!"); } } return 0; } Falta algumas coisas, como impedir que o usuário digite a mesma letra mais de uma vez e deixar as lacunas com o mesmo tamanho da palavra. Seria bom também você sortear a palavra de um conjunto, para que quem estiver jogando não saiba a palavra.
  12. "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; } } }
  13. 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:...
  14. Nesse seu código, o tamanho do arquivo e do nome devem ter no máximo 9 caracteres. você está respeitando esse limite?
  15. 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.
  16. 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.
  17. 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.
  18. 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(); }
  19. 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 }
  20. 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...
  21. 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++ }
  22. 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.
  23. 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.

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!