首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求图的读?有些地方看不懂,求解释,3g,该怎么处理

2012-03-28 
求图的读?有些地方看不懂,求解释,3g#includeiostream#includestringusing namespace stdint main(){i

求图的读?有些地方看不懂,求解释,3g
#include<iostream>
#include<string>
using namespace std;
int main()
{
int a[100][100],m,n,s,t,i,j,b[100],k,count=0;
while(cin>>m>>n)
{
count++;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));这里看不懂
if(m==0&&n==0)break;
for(i=1;i<=n;i++)
{
cin>>s>>t;
a[s][t]=1;
a[t][s]=1;
}
cout<<"Case "<<count<<":";
for(i=1;i<=m;i++)//从这里开始底下的都看不怎么懂啊,求解释!!
{
k=i;
for(j=1;j<=m;j++)
b[k]= b[k]+a[k][j];
}
for(i=1;i<=m;i++)
{
cout<<i<<"-"<<b[i]<<" ";
}
cout<<endl;
}
return 0;
}

[解决办法]

C/C++ code
#include <iostream>#include <string>using namespace std;int main(){  int a[100][100],m,n,s,t,i,j,b[100],k,count=0;  while(cin>>m>>n)  {    count++;    memset(a,0,sizeof(a));    memset(b,0,sizeof(b));/* 使用memset函数,将数组b中sizeof(b)个字节(也就是b能容纳的最大字节)的内容全部赋值为0,具体请查看memset函数的说明 */    if(m==0&&n==0)break;    for(i=1;i<=n;i++)    {      cin>>s>>t;      a[s][t]=1;      a[t][s]=1;    }    cout<<"Case "<<count<<":";    for(i=1;i<=m;i++)    {/* i的初始值为1,循环条件是i不能大于m,否则退出循环,每次循环后,i自增 1 。 */      k=i; /* 将i的值赋给k */      for(j=1;j<=m;j++)/* j的初始值为1,循环条件是j不能大于m,否则退出循环,每次循环后,j自增 1 。 */      b[k]= b[k]+a[k][j]; /* 将数组b中的第k个元素与数组a中的第k组中的第j个元素相加,并将结果赋值给数组b中的第k个元素 */    }    for(i=1;i<=m;i++)    {      cout<<i<<"-"<<b[i]<<" ";    }    cout<<endl;  }  return 0;} 

热点排行