Ir ao conteúdo
  • Cadastre-se

giovany93

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Tudo que giovany93 postou

  1. Boa noite pessoal, Estou aplicando um modelo de predição de resultados de futebol ao campeonato brasileiro, porém gostaria de criar um mecanismo para que as predições fossem rodada a rodada. Ou seja, para predição da rodada x e utilizo as x-1 como modelo treinado. Como eu faço isso com validação cruzada em Python?
  2. Sim , quase isso . Eu sei fazer em C mas quero ver com funções do c++.Mas o que eu realmente qro fazer eh o seguint.Dada duas listas verificar se elas sao iguais . Caso nao for, devemos verificar se fazendo uma corrida ao "contrário na segunda"(partindo do fim da 2ª até o inicio da 2ª) se a comparação dela com a primeira lista eh igual.
  3. Please!!! Someone helpe me!!! Eu estou tentando pegar duas listas de int e comparar um a um , mas esta dando algo errado. Segue a lógica: Se pelo uma das listas tiver um unico elemento , compare esse com o ultimo elemento da outra lista (se for igual retorna 1) senao compara com o primeiro dessa outra lista. Caso as lista tenham ambas mais de um elemento vamos comparar desde do inicio de ambas se nao as listas nao for iguais , compararemos desde o inicio da primeira até o fim desta e desde o fim da segunda até o inicio desta. O erro eh q eh para apresentar yes quando sao iguais e no quando nao .Em alguns casos esta acontecendo erro... #include <iostream> #include <list> using namespace std; int iteration(list<int> lista,list<int> lista2); int main(){ list<int>lista,lista2; int n,i,v; cin>>n; while(n){ for(i=1;i<=n;i++)lista2.push_back(i); while(cin>>v&&v){ lista.push_front(v); for(i=1;i<n;i++){ cin>>v; lista.push_front(v); } if(iteration(lista,lista2))cout<<"Yes"<<endl; else cout<<"No"<<endl; lista.clear(); } lista2.clear(); cin>>n; } //lista.push_back(i); //lista.push_front(i); //cout << lista.front() << endl; //cout << lista.back() << endl; //cout << lista.size() << endl; // lista.insert(it,2,11); cout << endl; //lista.erase(it);// printa o 3 que agora é o novo ultimo elemento da listacout << lista.back() << endl; //cout << lista.size() << endl; return 0; } int iteration(list<int> lista,list<int> lista2) { list<int>::iterator it; list<int>::iterator iat; int b=0; if(lista.begin()==--lista.end()||lista2.begin()==--lista2.end()) { cout<<*it<<*iat<<endl; if(lista.begin()==--lista2.end()) return 1; else return --lista.end()==lista2.begin(); } it = lista.begin();iat=lista2.begin(); while(it!=lista.end()&&iat!=lista2.end()) { if(*it!=*iat){ b=0; break; } else b=1; it++,iat++; } if(b)return 1; else{ iat =--lista2.end(); while(it!=lista.end()&&iat!=--lista2.begin()) { if(*it!=*iat){ b=0; break; } else b=1; it++,iat--; } } return b; }
  4. //Procuro indicação de livro bom para iniciantes em C# com linguagem orientada a objetos... se tiver link melhor ainda...
  5. Alguem me ajude!!! Fiz uma funcao desimpilhar nao sei onde esta o erro, exemplo: Dada a pilha 654321 Era para desimpilhar tudo ... só que esta desimpilhando só o primeiro e o final da pilha esta sem o NULL... int desempilhar(p_no p) { int c; p_no topo; topo=p; if(topo!=NULL) {c=topo->dado; p=p->prox; free(topo); return c;} exit(1); } }
  6. Estou fazendo fazendo um exercício que é para pegar um valor n de testes e escanear valores e letras referentes aos tipos de animais .Mas não sei onde está o erro ,acredito que seja no while.obs:quando digito um n ele roda n/2 vezes era para ser n vezes. #include<stdlib.h> int main() { int i,N,r,s,c,Quantia; char Tipo; r=0; s=0; c=0; scanf("%d",&N); for(i=0; i<N; i++) { scanf("%d",&Quantia); while(Quantia<1||Quantia>15) { scanf("%d",&Quantia); } scanf("%c",&Tipo); switch(Tipo) { case 'S': { s=s+Quantia; break; } case 'R': { r=r+Quantia; break; } case 'C': { c=c+Quantia; break; } } } printf("Total: %d cobaias\n %d\nTotal de coelhos: %d" "\nTotal de ratos: %d" "\nTotal de sapos: %d" "\nPercentual de coelhos: %.2d %%" "\nPercentual de ratos: %.2d %%" "\nPercentual de sapos: %.2d %%",c+r+s,c,r,s,c/(r+s+c),r/(r+s+c),s/(r+s+c)); }
  7. Mas não entendi sua dúvida, o que quer dizer com "porque você não preenche a palavra?" ? A palavra é fornecida pelo usuário no scanf("%s", p); Eu quero dizer se o caractere de fim de string é preenchido sozinho ou devemos fazer com que seja atribuída a última posição o '\0'.Outra coisa,eu entendei que a função limpa o espaço para depois desalocar,mas não entendi o código.
  8. Ah sim , Eh verdade o ponteiro pode ser visto como vetor né? aih eu não preciso e nem posso fazer scanf("%s",*p); Outra coisa você sabe me dizer porque quando digito a palavra (sem digitar o tamanho),o código não dah erro ?Por exemplo: No código tá assim: printf ("DIGITE O TAMANHO DA PALAVRA...\n"); scanf ("%d", &n); mas se eu digitar qualquer palavra , o codigo já imprime a criptografia e a palavra normal ,porque não dah erro? Queria saber mais coisa ainda...Aqui você aloca n+1 por causa do caracter do fim de string né? Se sim porque você não preenche a palavra?Ela eh automaticamente preenchida? char *p; p = (char*) malloc (n * sizeof(char) + 1); /* aloco o valor digitado */ scanf ("%s", p); /* armazeno na variável */ printf("original :: %s\n", p); /* imprimo a palavra normalmente */ criptografia (p, n); E aqui embaixo eu não entendi ,é que eu sou "calouro em C"kkk.A função free já não faz essa limpeza.Me explique pfv ,pois eu não entendi o while nem char *limit = p - 1; p += n.Desde já agradeço!!! /* boa prática: limpe o contéudo, libere memória sem uso. */ char *limit = p - 1; p += n; while (limit <-- p){ *p = 0; } free (p); return 0; }
  9. Eu estou tentando fazer um código em c no qual uma palavra deve ser criptografada.Eu não sei o que está dando errado. #include<stdlib.h> #include<string.h> int main() { int n; printf("DIGITE O TAMANHO DA PALAVRA...\n"); scanf("%d",&n); char *p; p=(char*) malloc(n*sizeof(char));//aloco o valor digitado scanf("%s",p);//armazeno na variável printf(" %s",*p);//imprimo a palavra normalmente criptografia(*p,n); } void criptografia(char palavra[ ],int n) { int i; for(i=0; i<n; i++) { switch(palavra) { case 'A':palavra='J'; case 'B':palavra='K'; case 'C':palavra='L'; case 'D':palavra='M'; case 'E':palavra='N'; case 'F':palavra='O'; case 'G':palavra='P'; case 'H':palavra='Q'; case 'I':palavra='R'; case 'J':palavra='S'; case 'K':palavra='T'; case 'L':palavra='U'; case 'M':palavra='W'; case 'N':palavra='X'; case 'O':palavra='Y'; case 'P':palavra='Z'; case 'Q':palavra='A'; case 'R':palavra='B'; case 'S':palavra='C'; case 'T':palavra='D'; case 'U':palavra='E'; case 'V':palavra='F'; case 'W':palavra='G'; case 'X':palavra='H'; case 'Y':palavra='I'; case 'Z':palavra='J'; } printf("%s",palavra); } }
  10. Gente estou fazendo um código para ler 6 números e verificar a quantidade de positivos e fazer a média aritmética dos positivos .Me ajudem o que têm de errado: Obs:Usei ponteiro e função porque estou aprendendo ,então quero aplicar em exercícios simples primeiro. #include<stdlib.h> #include<stdio.h> verifica(double c,int *cont,double media); int main() { double a,b,c,d,e,f,media; int cont1; media=0; cont1=0; scanf("%f %f %f %f %f %f",&a,&b,&c,&d,&e,&f); verifica(a,&cont1,media); verifica(b,&cont1,media); verifica(c,&cont1,media); verifica(d,&cont1,media); verifica(e,&cont1,media); verifica(f,&cont1,media); media=media/ cont1; printf("%d\n %d\n",cont1,media); } verifica(double c,int *cont,double media) { if(c>0){ *cont=*cont+1; media=media+c; } return media; }

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