
Практикум по программированию на языке С,
Вычислительная физика, Теория алгоритмов.
ФНБИК МФТИ
2015-2016 учебный год
1 #include <stdio.h>
2 void swap(double *x, double *y);
3 void swap_wrong(double x,double y);
4 int main (void){
5 double x,y;
6 x=3.;
7 y=4.;
8 printf("Initial x and y : %f\t%f\n",x,y);
9 swap_wrong(x,y);
10 printf("x and y after swap_wrong: %f\t%f\n",x,y);
11 x=3.;
12 y=4.;
13 printf("Initial x and y : %f\t%f\n",x,y);
14 swap(&x,&y);
15 printf("x and y after swap: %f\t%f\n",x,y);
16 return 0;
17 }
18 void swap(double *x, double *y){
19 double z;
20 printf("In swap: Initial x and y : %f\t%f\n",*x,*y);
21 z=*x;
22 *x=*y;
23 *y=z;
24 printf("In swap: x and y after swap: %f\t%f\n",*x,*y);
25 }
26 void swap_wrong(double x,double y){
27 double z;
28 printf("In swap_wrong: Initial x and y : %f\t%f\n",x,y);
29 z=x;
30 x=y;
31 y=z;
32 printf("In swap_wrong: x and y after swap_wrong %f\t%f\n",x,y);
33 }
============================================================================
1 #include <stdio.h> /* Max. value in random array*/
2 #include <math.h>
3 #include<stdlib.h>
4 #define DIM 5000
5 void find_max(int a[], /* int *a */ int n, int *amax);
6 int main (void){
7 int a[ DIM ], amax;
8 int i,n;
9 printf("Put n:\n");
10 scanf("%d",&n); /* pay attention to & before argument */
11 for(i=0; i<n; i++) {
12 a [i] = rand(); /* random integer values */
13 printf("%-10d ",a[i]);
14 if(i%10==9) printf("\n");
15 }
16 printf("\n");
17 find_max(a, n, &amax);
18 printf(" max value = %d\n",amax);
19 return 0;
20 }
21 void find_max(int *a, int n, int *amax){
22 int i;
23 *amax=*a;
24 for( i=1;i<n;i++) /* search for max element */
25 if(*amax < *(a+i))
26 *amax=*(a+i);
27 }