为了 在100*100区域生成900个传感器节点
编译器选择:Dev C++
由于Dev C++编译器存在个不足,那就是当devc++程序运行后产生的结果数据多,不能全部都看到,找到个解决方法:
DOS命令:输入win+R 打开DOS命令行窗口
DOS命令:输入 cd… 退出到C:
将源代码456.cpp保存到E:\,编译运行后的456.exe会自动生成到E:
DOS命令:进入E盘,输入C:>cd /d E:
DOS命令:456.exe > 1206.txt
点enter回车后,你会在E盘:看到1206.txt文件
/* 初值定义 */
struct Sensor
{
int id;//传感器的id
int x;
int y;
int battery;
};
const int MAXLENGTH = 100;
const int MAXWIDTH = 100;
const int N = 900;
vector <Sensor>a;
定义Sensor生成函数
void GenerateSensor(int length, int width , int number);
/* 函数调用 */
GenerateSensor(MAXLENGTH, MAXWIDTH, N);
使用了C++ vector容器
举例说明cout的用法:cout用法
定义1个变量a,初始值为123,输出该值
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int a = 123;
cout << a << endl;
return 0;
}
运行结果:
举例说明vector的用法:Vector介绍1 vector介绍2
定义有10个整型元素的数组a,且给出的每个元素初值为1
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>a(10,1);
cout << a[0] << endl;
cout << a[1] << endl;
cout << a[2] << endl;
cout << a[3] << endl;
cout << a[4] << endl;
cout << a[5] << endl;
cout << a[6] << endl;
cout << a[7] << endl;
cout << a[8] << endl;
cout << a[9] << endl;
return 0;
}
运行结果:
上述结果,简便方法push_back用法
定义有10个整型元素的数组a,且给出的每个元素初值为1
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>a;
for(i=0;i<10;i++)
{
a.push_back(1);
}
for(std::vector<int>std::interator m = a.begin(); m!=a.end(); m++)
{
cout << *m << endl;
}
}
运行结果:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>a;
for(i=0;1<10;i++)
{
a.push_back(i);
}
for(std::vector<int>::interator m = a.begin(); m!=a.end(); m++)
{
cout << *m << endl;
}
}
运行结果:
void GenerateSensor(int length, int width, int number)
{
for(i=0; i<number; i++)
{
a.push_back({i, rand()%length, rand()%width, rand()%100});
}
for(int j=0;j<900;j++)
{
cout << a[j].id <<" "<< a[j].x <<" "<< a[j].y <<" "
<< a[j].battery << endl;
}
}
}
运行结果:
生成传感器函数所有值可以参考:全部数据