sub25.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 94 行
CPP
94 行
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include"listaint.cpp"
Lista vect[20];
int max=0;
int testarc(int,int);
void eroare(char s[]);
void succesori(int n);
int gradmax(int);
void main()
{
int nod,arc,i,n1,n2,k,nrnod,nr;
char s[50];
clrscr();
printf("\nIntroduceti nr. de noduri :");
scanf("%d",&nod);
printf("\nIntroduceti nr. de arce :");
scanf("%d",&arc);
for(i=1;i<=nod;i++)
vect[i]=NULL;
printf("\nIntroduceti arcele :\n");
for(i=0;i<arc;i++)
{
scanf("%d",&nrnod);
scanf("%d",&nr);
if(nrnod<0||nrnod>nod||nr<0||nr>nod)
eroare("Ati introdus gresit!");
insert(vect[nrnod],nr);
}
printf("\nIntroduceti doua noduri :");
scanf("%d%d",&n1,&n2);
if(testarc(n1,n2)==1)
printf("\nExista arc de la %d la %d !",n1,n2);
else
printf("\nNU exista arc de la %d la %d !",n1,n2);
printf("\nIntroduceti nodul pentru afisarea listei de succesori:");
scanf("%d",&k);
printf("\nSuccesorii nodului %d :",k);
succesori(k);
printf("\nGradul maxim de iesire : %d",gradmax(nod));
getch();
}
int testarc(int n1,int n2)
{
Lista p=vect[n1];
while(p!=0)
{
if(p->data==n2)
return 1;
p=p->link;
}
return 0;
}
void eroare(char s[])
{
printf("\nEROARE! %s",s);
getch();
exit(1);
}
void succesori(int n)
{
Lista p=vect[n];
while(p!=0)
{
printf(" %d",p->data);
p=p->link;
}
}
int gradmax(int n)
{
int c;
for(int i=1;i<=n;i++)
{
c=0;
Lista p=vect[i];
while(p!=0)
{
c++;
p=p->link;
}
if(c>max)
max=c;
}
return max;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?