-
Posts
11 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por giovany93
-
-
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.
- 1
-
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;
}- 1
-
//Procuro indicação de livro bom para iniciantes em C# com linguagem orientada a objetos... se tiver link melhor ainda...
- 1
-
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);
}}
-
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));
}
- 1
- 1
-
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.
-
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; }
-
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);
}}
-
valeu parça
-
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
Implementação de predição com cross validation em Python
em Programação - outros
Postado
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?