Informatică, întrebare adresată de KatyKuture, 8 ani în urmă

#include



using namespace std;
ifstream f("date.in");
ofstream g("date.out");

int n,x;
struct nod
{
int info;
nod *st,*dr;

}*prim,*ultim,*p;
void afisd(nod *prim,nod *ultim)
{
p=prim;
while(p)
{
g<info<<" ";
p=p->dr;

}
}
void afisds(nod *prim,nod *ultim)
{
p=ultim;
while(p)
{
g<info<<" ";
p=p->st;

}
}
void creareld(nod *&prim,nod *&ultim)
{
prim=new nod;

f>>prim->info;
prim->dr=prim->st=NULL;
ultim=prim;
while(f>>x)
{ p->info=x;
p=new nod;
ultim->dr=ultim->st=NULL;
ultim=p;
p=p->dr;
}
afisd(prim,ultim);

}
int faraultim(int x)
{
x=x/10;
return x;
}
int ultimac(int x)
{
x=x%10;
return x;
}

int primac(int x)
{
int c=0;
if(x)
{
c=c*10+x%10;
x/=10;
}
return x%10;
}
int sumac(int x)
{
if(x<10)return x;
return x%10+sumac(n/10);
}
int para(int x)
{
if(x%2==0)

return 1;
return 0;

}
int nrprim(int x)
{
int nr=0;
for(int d=1; d*d<=x; d++)
{
if(x%d!=0)
{
nr++;
}
}
if(nr==2)
{
return 1;
}
else
{
return 0;
}
}
void nrsumap(nod *prim,nod*ultim)
{
int nr=0;
for(p=prim; p; p=p->dr)
{
if(sumac(faraultim(p->info))%2==0)
{
nr++;
}

}
g< }
int nrpr(nod *prim,nod *ultim)
{
int nr=0;
p=prim;
while(p)
{
if(nrprim(p->info)!=0)
{
nr++;
}
p=p->dr;
}
return nr;
}
int paramin(nod *prim,nod *ultim)
{
int mn=99999;
p=prim;
while(p->info)
{
if(para(p->info) {

mn=p->info;
}
p=p->dr;
}
return mn;
}

int sumapuc(nod *prim,nod *ultim)
{
int s=0;
if(primac(p->info)==ultimac(p->info))
{
s=s+p->info;
}
return s;
}
void cerinta (nod *prim,nod*ultim)
{
int a,b;
a=nrpr(prim,ultim);
b=nrpr(prim,ultim);
if(a>b)
{
g< }
else
{
sumapuc(prim,ultim);
}
}
int main()
{
creareld(prim,ultim);

cerinta(prim,ultim);


return 0;
}



Va rog imi puteti spune de ce nu imi afiseaza nimic in fisier? Nu ma intereseaza corectitudinea altor subprograme decat al celui de creare si afisare.

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

Explicație:

void afisd(nod *prim,nod *ultim)

{

p=prim;

while(p)

{

g<info<<" ";    // aici tr sa fie  g << p->info << " ";

p=p->dr;

}

}

*******************************************************

void afisds(nod *prim,nod *ultim)

{

p=ultim;

while(p)

{

g<info<<" ";    // aici tr sa fie  g << p->info << " ";

p=p->st;

}

}

*****************************************

void creareld(nod *&prim,nod *&ultim)

{

prim=new nod;

f>>prim->info;

prim->dr=prim->st=NULL;

ultim=prim;

while(f>>x)

{ p->info=x;    // acest rand schimbi cu locul cu urmatorul rand

p=new nod;   // mai intai se creaza nodul si dupa il incarci cu date

ultim->dr=ultim->st=NULL;  //aici de ce???  

ultim=p;

p=p->dr;

}

afisd(prim,ultim);

}

ceva nu e bine la functia creareld, lipseste legatura lui prim cu urmatoarele noduri.  


KatyKuture: am refacut crearea listei asa cum trebuie si chestiile de la afisare cu g<info nu stiu de ce s a trimis asa, dar imi apare eroarea:"expected identifier or '(' before numeric constant" si nu inteleg de ce...
boiustef: reuşit???
Alte întrebări interesante