1 #include <graphics.h>
2 #include <conio.h>
3
4 void main()
5 {
6 initgraph(640, 480);
7
8 circle(320, 240, 50); // 画圆
9 line(230, 240, 410, 240); // 画线
10 line(320, 150, 320, 330); // 画线
11
12 getch();
13 closegraph();
14 }
15
16
17
18 【代码示例 (OpenGL 绘图程序)】
19
20 #include <GL/glut.h>
21
22 // 函数功能:绘制一个正方形
23 void MyDisplay(void)
24 {
25 glClear(GL_COLOR_BUFFER_BIT); // 清除颜色
26 glRectf(-0.5f,-0.5f,0.5f,0.5f); // 绘制矩形
27 glFlush(); // 保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。
28 }
29
30 // 主程序
31 void main(int argc, char *argv[])
32 {
33 glutInit(&argc, argv); // 对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。
34 glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE); // 设置显示方式
35 glutInitWindowPosition(100, 100); // 设置窗口位置
36 glutInitWindowSize(400, 400); // 设置窗口大小
37 glutCreateWindow("My first OpenGL Program"); // 利用前面设置窗口的参数进行创建窗口,并设置窗口名称
38 glutDisplayFunc(&MyDisplay); // 调用绘图函数
39 glutMainLoop(); // 消息等待
40 }
41 //--------------------
42 //指针的强制访问
43 #include<iostream>
44 using namespace std;
45 int a=5;
46 int b=6;
47 int main()
48 {
49 int *ap=(int*)4202660;
50 *ap=8;
51 cout<<a<<endl;
52 cout<<int(&b)<<endl;
53 }
54 //--------------
55 #include<iostream>
56 using namespace std;
57 const int n=5;
58 const int m=4;
59 int a[n][m];
60 int main()
61 {
62 /*1 2 3 4 1 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2*/
63 for(int i=0;i<n;i++)
64 for(int j=0;j<m;j++)
65 cin>>a[i][j];
66 for(int i=0;i<n;i++)//n=5.m=4
67 {
68 int sum=0;
69 for(int j=0;j<m;j++)
70 sum+=a[i][j];//a[0][0],a[0][1],a[0][2]
71 cout<<(i+1)<<":"<<sum<<"\n";//五行 i<5
72 }
73 for(int i=0;i<m;i++)//四行,i<4
74 {
75 int sum=0;
76 for(int j=0;j<n;j++)
77 sum+=a[j][i];//a[0][0],a[0][1],a[0][2],a[0][3]
78 cout<<"NO"<<i<<"average is"<<double(sum)/n<<"\n";
79 }
80 }
81 //---------------
82 #include<iostream>
83 #include<vector>
84 using namespace std;
85 void print(const vector<int>& a);//重载函数
86 void print();
87 bool process(vector<int>& a);
88 int main()
89 {
90 vector<int>a(10,5);//向量中含有10个5
91 if(process(a))//如果process()函数不为空,此时调用了bool process()函数
92 print(a);//调用重载
93 else
94 print();//调用原型
95 }
96 void print()
97 {
98 cout<<"failed.\n";
99 }
100 void print(const vector<int>&a)
101 {
102 for(int i=0;i<a.size();i++)
103 cout<<a[i]<<" ";
104 cout<<"\n";
105 }
106 bool process(vector<int>& a)//也是十分重要的函数,进行判断,结果为false,得failed
107 {
108 int sum=0;
109 for(int i=0;i<a.size();++i)
110 sum+=a[i];
111 if(sum>100)
112 return true;
113 else
114 return false;
115 }
116 //----------------------
117 #include<iostream>
118 using namespace std;
119 double fun(double x,int n)
120 {
121 double m1=1,sum=1;
122 for(int i=1;i<=n;i++)
123 if(i%2==1)
124 {
125 for(int j=2*i;j>0;j--)
126 m1*=x/j;
127 sum+=-m1;
128 }
129 else
130 {
131 for(int j=2*i;j>0;j--)
132 m1*=x/j;
133 sum+=m1;
134 }
135 return sum;
136 }
137 int main()
138 {
139 int x,n;
140 cout<<"Please input x:"<<endl;
141 cin>>x;
142 cout<<"Please input n:"<<endl;
143 cin>>n;
144 cout<<fun(x,n)<<endl;
145 }
146 //-------------------此程序感觉为问题极大
147 #include <stdio.h>
148 #include<conio.h>
149 #include <iostream>
150 #include <string.h>
151 void main()
152 {
153 int i,j,k,count;
154 char s1[100],s2[100];
155 printf("Please enter main string:");
156 gets(s1);
157 printf("enter sub string:");
158 gets(s2);
159 count=0;
160 for(i=0;s1[i]!='\0';i++)
161 {
162 for(k=0,j=0;(s1[j]==s2[k])&&(s1[j]!='\0');j++,k++);
163 if(s2[k]=='\0')
164 count++;
165 }
166 printf("\ncount=%d\n",count);
167 }
168 //------------
169 /*指针的强制访问,int* ap=(int*)4202660;
170 不要给指针变量赋值一个具体的地址值,这个很容易搞出非法的地址来
171 一般都是非法使用内存或者内存泄露引起的*/
172 #include<iostream>
173 using namespace std;
174 int a=5;
175 int b=6;
176 int main()
177 {
178 int* ap=(int*)4202660;
179 *ap=8;
180 cout<<a<<endl;
181 cout<<int(&b)<<endl;
182 }
183 //-------------
184 #include<iostream>
185 using namespace std;
186 void f()
187 {
188 int b;
189 cout<<"B=>"<<b<<endl;
190 }
191 int main()
192 {
193 int a;
194 cout<<"A=>"<<a<<endl;
195 f();
196 }
197 //--------------------------------
198 void mySort(int *b,int size);
199 void f()
200 {
201 int a[]={3,5,7,1,8,4,9};
202 mySort(a,sizeof(a)/sizeof(a[0]));//int *b=a;
203 //
204 }
205 //-------------------
206 #include<iostream>
207 using namespace std;
208
209 int funcA(int x,int y);
210 void funcB(int& s);
211 int main()
212 {
213 int a=6,b=12;
214 a=funcA(a,b);//a=6,b=12
215 cout<<a<<endl;
216 }
217 int funcA(int x,int y)
218 {
219 int n=5;
220 funcB(n);
221 return n;
222 }
223 void funcB(int &s)
224 {
225 int x=8;
226 s=x;
227 }
228 //-----------------------
229 //函数设计的随意性
230 #include<iostream>
231 #include<vector>
232 using namespace std;
233 void print(vector<int>&a)
234 {
235 for(int i=0;i<a.size();++i)
236 cout<<a[i]<<" ";
237 cout<<endl;
238 }
239 vector<int>add(vector<int>&a,vector<int>&b)
240 {
241 vector<int>c(a.size());
242 for(int i=0;i<a.size();++i)//vector中有size() for(vector<int>iterator it=a.begin();it!=a.end(),it++)
243 c[i]=a[i]+b[i];
244 /*a[i]+=b[i];*/
245 return c;
246 }
247 int main()
248 {
249 int aa[]={2,3,1,2,3,2,1},bb[]={5,3,1,1,6,2,2};
250 vector<int>a(aa,aa+7),b(bb,bb+7);//向量的初始化需要注意
251 vector<int>c=add(a,b);//向量的初始化需要注意
252 print(a);
253 print(b);
254 print(c);
255 }
256 //----------------
257 void mySort(int *b,int size);
258 void f()
259 {
260 int a[]={3,5,7,1,8,4,9};
261 mySort(a,sizeof(a)/sizeof(a[0]));//int *b=a
262 }
263 //数组是不能直接复制的
264 //向量参数传递
265 #include<iostream>
266 #include<vector>
267 #include<fstream>
268 #include<sstream>
269 using namespace std;
270 typedef vector<int> VI;//typedef
271 typedef vector<VI> VVI;
272 void print(const VI&);
273 void input(VVI&);
274 bool findVec(const VVI&,VI&);
275 int main()
276 {
277 VVI matrix;
278 input(matrix);
279 VI vec;
280 if(findVec(matrix,vec))
281 print(vec);
282 }
283 void print(const VI& v)
284 {
285 for(int i=0;i<v.size();i++)
286 cout<<v[i]<<" ";
287 cout<<"\n";
288 }
289 void input(VVI& m)
290 {
291 ifstream in("abc.in");
292 int n,t;
293 in>>n;
294 m.resize(n);//设定内存大小
295 for(string s;n--&&getline(in,s);)//
296 for(istringstream sin(s);sin>>t;m[m.size()-n-1].push_back(t));//
297 }
298 bool findVec(const VVI& matrix,VI& v)
299 {
300 for(int i=0;i<matrix.size();++i)//matrix.size()
301 for(int j=0;j<matrix[i].size();++j)//matrix[i].size
302 if(matrix[i][j]==-1)
303 {v=matrix[i];
304 return true;
305 }
306 return false;
307 }
308 //--------------------