练习代码

  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 //--------------------

 

posted @ 2013-06-05 07:35  herizai  阅读(398)  评论(0编辑  收藏  举报