Kolokwium 1 z PRM, 2007.04.12 ZESTAW_1
Imię i nazwisko: ................................................................................. Grupa: ................................... Wynik:................................
W polu kratkowanym przedstawić wynik działania zapisanego poniżej programu. Jedna kratka odpowiada jednemu znakowi wydruku.
#define <stdio.h>
#define A(x,y,z) y*(i+(3*x+z))+1
#define PR(format,val) printf(" "#val"=%"#format",",(val))
#define NL printf("\n")
#define PRINT1(f,x1) PR(f,x1), NL
#define PRINT2(f,x1,x2) PR(f,x1), PRINT1(f,x2)
#define PRINT3(f,x1,x2,x3) PR(f,x1), PRINT2(f,x2,x3)
#define EN 3
#define EOS '\0'
#define NEXT(i) wejscie[i++]
#define FALSE 0
#define TRUE 1
void fun1(int*);
void fun2(float*);
void main(void)
{ char c; int high, i=3, j=4, in, low, tab[]={2,3,1,4,6};
char wejscie[]="Grupy M4 - M6 pisza kolokwium 1 z PRM w dniu 12/04/2007.";
float *wsk,arr[]={5.3568e-3,6.14542678,-691.656,-8.1,-3.24654e+4,2879.4,-2.51,4.545e-2};
printf("Zestaw 1:\n%3d.%04d.%3d.\n",A(2-1,3+1,4*2)*2,2+A(3-1,4+1,1+2)/2,2*A(2+2,2-3,4-3)%2);
wsk=&arr[i/2];
printf("%9s:%4.1f,%-12.3e\n","ptr=arr",*wsk+j,*(wsk+j));
fun1(tab);
fun2(wsk-1);
high=i=in=low=0;
while((c=NEXT(i))!=EOS) if(c<'0')low++; else if(c>'9')high++; else ++in;
PRINT3(-2d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j) if(c<'Z')low++; else if(c>'A')high++; else in++;
if(low>=EN || high>+EN || in>=EN) j=TRUE;
PRINT3(-3d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j)
if(c<'a') j=(++low==EN); else if(c>'z') j=(high++==EN); else j=(++in==EN);
PRINT3(-4d,low,in,high);
}
void fun1(int *tab)
{ int i=2, j; char ciag[]={"Fun1:%-4d,%2d,%-3d.%05d:%-3d"};
i=(j=++tab[1])-1;
++tab[--j];
tab[i++-1]=--j;
printf(ciag,i+++1,j++,*(tab+1),*tab,--tab[2]);
}
void fun2(float *wsk)
{ int j,i; char ciag[]={"wsk=arr["};
printf("\nFun2:\n");
for(j=1,i=5-j;j<4;j++,ciag[4]++)
printf("%-9s%1u%1s;%3.0f,%.3e\n",ciag,--i+2,"]",*(wsk+1)*j,*wsk+j);
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kolokwium 1 z PRM, 2007.04.12 ZESTAW_2
Imię i nazwisko: ................................................................................. Grupa: ................................... Wynik:................................
W polu kratkowanym przedstawić wynik działania zapisanego poniżej programu. Jedna kratka odpowiada jednemu znakowi wydruku.
#include <stdio.h>
#define A(x,y,z) (y*(i+(3*x+z)))+1
#define PR(format,val) printf(" "#val"=%"#format",",(val))
#define NL printf("\n")
#define PRINT1(f,x1) PR(f,x1), NL
#define PRINT2(f,x1,x2) PR(f,x1), PRINT1(f,x2)
#define PRINT3(f,x1,x2,x3) PR(f,x1), PRINT2(f,x2,x3)
#define EN 3
#define EOS '\0'
#define NEXT(i) wejscie[i++]
#define FALSE 0
#define TRUE 1
void fun1(int*);
void fun2(float*);
void main(void)
{ char c; int high, i=4, j=3, in, low, tab[]={1,2,3,4,6};
char wejscie[]="Grupy M4 - M6 pisza 12/04/2007 kolokwium 1 z PRM.";
float *wsk,arr[]={4.2568e-3,3.24142678,-29.1356,-41.1,-3.39654e+3,2897.34,-5.1,4.555e-2};
printf("Zestaw 2:\n%3d.%4d.%3d.\n",A(2-1,3+1,4*2)/2,2+A(3-1,4+1,1+2)*2,2*A(2+2,2-3,4-3)%2);
wsk=&arr[i/2];
printf("%9s:%4.1f,%-13.3e\n","ptr=arr",*wsk+j,*(wsk+j));
fun1(tab);
fun2(wsk-1);
high=i=in=low=0;
while((c=NEXT(i))!=EOS) if(c<'0')++low; else if(c>'9')high++; else ++in;
PRINT3(-4d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j) if(c<'A')--low; else if(c>'Z')high--; else in++;
if(low>=EN || high>+EN || in>=EN) j=TRUE;
PRINT3(-3d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j) if(c>'z')
j=(low==EN); else if(c>'a') j=(high++==EN); else j=(++in==EN);
PRINT3(-2d,low,in,high);
}
void fun1(int *tab)
{ int i=2, j; char ciag[]={"Fun1:%-05d,%2d,%-3d;%05d\':%-3d"};
i=(j=tab[1]++)-1;
++tab[++j];
tab[i-1]=j--;
printf(ciag,i+++1,j++,*(tab+2),*tab,--tab[3]);
}
void fun2(float *wsk)
{ int j,i; char ciag[]={"%9s%1u%1c;%5.1f,%.4e\n"};
printf("\nFun2:\n");
for(j=1,i=5-j;j<4;j++,ciag[11]++)
printf(ciag,"wsk=arr[",i+2,']',*(wsk+1)+j,*wsk+j);}
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kolokwium 1 z PRM, 2007.04.12 ZESTAW_3
Imię i nazwisko: ................................................................................. Grupa: ................................... Wynik:................................
W polu kratkowanym przedstawić wynik działania zapisanego poniżej programu. Jedna kratka odpowiada jednemu znakowi wydruku.
#include <stdio.h>
#define A(y,z,x) (y*(i+(3*x+z)))+2
#define PR(format,val) printf(" "#val"=%"#format",",(val))
#define NL printf("\n")
#define PRINT1(f,x1) PR(f,x1), NL
#define PRINT2(f,x1,x2) PR(f,x1), PRINT1(f,x2)
#define PRINT3(f,x1,x2,x3) PR(f,x1), PRINT2(f,x2,x3)
#define EN 3
#define EOS '\0'
#define NEXT(i) wejscie[i++]
#define FALSE 0
#define TRUE 1
void fun1(int*);
void fun2(float*);
void main(void)
{ char c; int high, i=4, j=3, in, low, tab[]={8,4,3,2,6,7};
char wejscie[]="Osoby z grup M4 - M6 pisza 12/04/2007 kolokwium_1 z PRM.";
float *wsk,arr[]={4.3568e-3,3.34142678,-39.1356,-43.1,-3.39654e+3,2897.34,-5.3,4.355e-2};
printf("Zestaw 3:\n%3d.%4d.%3d.\n",A(2-1,3+1,4*2)/2,2+A(3-1,4+1,1+2)*2,2*A(2+2,2-3,4-3)%2);
wsk=&arr[j];
printf("%9s:%4.1f,%013.3e\n","ptr=arr",*wsk+j,*(wsk)+j);
fun1(tab);
fun2(wsk-1);
high=i=in=low=0;
while((c=NEXT(i))!=EOS) if(c<'0')low--; else if(c>'9')high--; else ++in;
PRINT3(-3d,low,in,high);
i=low=in=high=0; j=TRUE;
while((c=NEXT(i))!=EOS && j) if(c>'Z')low++; else if(c<'A')high++; else in++;
if(low>=EN || high>+EN || in>=EN) j=TRUE;
PRINT3(-3d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j)
if(c<'a') j=(low==EN); else if(c>'z') j=(high++==EN); else j=(++in==EN);
PRINT3(-3d,low,in,high);
}
void fun1(int *tab)
{ int i=2, j; char ciag[]={"Fun1:%-5d,%2d,%-3d\".%05d:%4d"};
i=(j=tab[1]++)-1;
--tab[++j];
tab[i+1]=j--;
printf(ciag,i+++1,j++,*(tab+1)*2,*tab,--tab[3]);
}
void fun2(float *wsk)
{ int j,i; char ciag[]={"%9s%1u%1s;%5.1f,%.3e\n"};
printf("\nFun2:\n");
for(j=1,i=5-j;j<4;j++,(*(ciag+13))++)
printf(ciag,"wsk=arr[",i-1,"\"",*(wsk)+j,*wsk-7*j);
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kolokwium 1 z PRM, 2007.04.12 ZESTAW_4
Imię i nazwisko: ................................................................................. Grupa: ................................... Wynik:................................
W polu kratkowanym przedstawić wynik działania zapisanego poniżej programu. Jedna kratka odpowiada jednemu znakowi wydruku.
#include <stdio.h>
#define A(y,z,x) (y*i+(3*x+z))+1
#define PR(format,val) printf(" "#val"=%"#format",",(val))
#define NL printf("\n")
#define PRINT1(f,x1) PR(f,x1), NL
#define PRINT2(f,x1,x2) PR(f,x1), PRINT1(f,x2)
#define PRINT3(f,x1,x2,x3) PR(f,x1), PRINT2(f,x2,x3)
#define EN 3
#define EOS '\0'
#define NEXT(i) wejscie[i++]
#define FALSE 0
#define TRUE 1
void fun1(int*);
void fun2(float*);
void main(void)
{ char c; int high, i=3, j=3, in, low, tab[]={5,4,3,2,6,7};
char wejscie[]="12/04/2007 osoby z grup M4 - M6 pisza kolokwium_1 z PRM.";
float *wsk,arr[]={4.2568e-3,3.24142678,-29.1356,-41.1,-3.39654e+3,2897.34,-5.1,4.555e-2};
printf("Zestaw 4:\n%3d.%4d.%3d.\n",A(2-1,3+1,4*2)*2,2+A(3-1,4+1,1+2)/2,2*A(2+2,2-3,4-3)%2);
wsk=&arr[2];
printf("%9s:%4.1f,%13.3e\n","ptr=arr",*wsk+j%2,*(wsk)+j);
fun1(tab);
fun2(wsk+1);
high=i=in=low=0;
while((c=NEXT(i))!=EOS) if(c<'0')low++; else if(c>'9')high++; else ++in;
PRINT3(-5d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j) if(c<'A')low++; else if(c>'Z')high++; else in++;
if(low>=EN || high>+EN || in>=EN) j=TRUE;
PRINT3(-3d,low,in,high);
i=low=in=high=0; j=FALSE;
while((c=NEXT(i))!=EOS && !j)
if(c<'a') j=(low++==EN); else if(c>'z') j=(high++==EN); else j=(++in==EN);
PRINT3(-4d,low,in,high);
}
void fun1(int *tab)
{ int i=2, j;
i=(j=tab[0]++)-1;
--tab[--j];
tab[i+1]=j--;
printf("Fun1:%- 4d,%2d,%-3d.%5d:%-3d",i+1,--j,*(tab)*2,*tab%2,--tab[3]);
}
void fun2(float *wsk)
{ int j,i;
printf("\nFun2:\n");
for(j=1,i=5-j;j<4;j++)
printf("%9s%1u%1s;%5.1f,%13.4e\n","wsk=arr[",i-1,"\"",*(wsk)+j,*wsk-(3*j)%2);
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|