Помен.1 и 2 местами #include #include main () {int i,i1,i2,j1,j2; char s[20],c; gets(s); for(i=0;i<20;i++) if(!i || ((s[i-1]==' ')&&(s[i]!=' '))) {i1=i; while(s[i]!=' ') i++; i2=i; break; } for(i;i<20;i++) if(!i || ((s[i-1]==' ')&&(s[i]!=' '))) {j1=i; while(s[i]!=' ') i++; j2=i; break; } for(i=i1;i<(i1+j2)/2;i++) {c=s[i]; s[i]=s[i+j1]; s[i+j1]=c; } printf("%s\n",s); getch (); return 0;} ввод стр. нах. Max слово int beg=0,i=0,j=0; void main () {char *st; int t=0,num=0,max=0,n; //razmernost' stroki scanf("%d",&n); st=(char*)calloc(n,sizeof(char)); //Vvedite text:"); gets(st); while(*(st+j)) {num=0; while (*(st+j)==' ')//propusk probelov j++; while(*(st+j)!=' ' && *(st+j)) {num++; //kolichestvo bukv v slove j++;} if(max0 && (c=getchar())!='\n' && c!=13) *(st+i++)=c; *(st+i)='\0';return i-1;} char *str_cat(char *s1,char *s2,int k) {char *ss;int i; if(k>str_len(s1)) k=str_len(s1); ss=(char*)malloc(str_len(s1)+str_len(s2)); for(i=0;i0;dp/=2) for(i=dp;i=0) && (ms[j]>ms[j+dp]);j-=dp) {a=ms[j];ms[j]=ms[j+dp];ms[j+dp]=a;} //vyvod for(i=0;ie); return y2;} void revers(char*,int); int beg=0;//nachalo naidennogo slova int i=0; //indexy int j=0; void main () { char *st; int t=0; int num=0,max=0; int n; clrscr(); puts("Vvedite razmernost' stroki:"); scanf("%d",&n); if(!(st=(char*)calloc(n,sizeof(char)))) {puts("Malo pamyati!"); getch(); return;} fflush(stdin); puts("\nVvedite text:"); get_str(st,n); //do etgo momenta vvod while(*(st+j)) { num=0; while (*(st+j)==' ') //propusk probelov j++; while(*(st+j)!=' ' && *(st+j)) { num++; //kolichestvo bukv v slove j++;} if(maxi;j--) if(*(*(mt+i)+i)>*(*(mt+j)+j)) {int tmp=*(*(mt+i)+i); *(*(mt+i)+i)=*(*(mt+j)+j); *(*(mt+j)+j)=tmp;}} void main() {int **p,i,j,k; printf("\nRazmernost' stroki i stolbca:"); scanf("%d",&k); if (!(p=(int**)malloc(k*sizeof(int*)))) {puts("Malo pamyati!");return;} for (i=0;i0) {copy(tmp,str[i]); copy(str[i],str[j]); copy(str[j],tmp);}} void copy(char *s1,char*s2) {while(*s1++=*s2++);} int str_cmp(char *s1,char *s2) {while(*s1 || *s2) if(*s1-*s2) return *s1-*s2; else {s1++;s2++;}} void main() {char arr[10][80]; int num,i; do{printf("Vvedite kol-vo strok:\n"); scanf("%d",&num);}while(num>10); for(i=0;i=c;i--) if(ms[i-1]>ms[i]) {a=ms[i];ms[i]=ms[i-1]; ms[i-1]=a;b=i;} c=b+1; for(i=c;i<=d;i++) if(ms[i-1]>ms[i]) {a=ms[i];ms[i]=ms[i-1]; ms[i-1]=a;b=i;} d=b-1;} while(c<=d); //vyvod for(i=0;i0 && (c=getchar())!='\n' && c!=13) *(st+i++)=c; *(st+i)='\0'; return i-1; } перемню м. чере do while #define n1 3 #define n2 4 #define n3 3 void main() {int i,j,k,n,t,a[n1][n2],b[n2][n3],c[n1][n3]; //vvod matricy for (i=0;i #include #include double fun(double); double trap(double(*)(double),double,double,double,double); void main() {double(*f)(double),a,b,e,n; scanf("%lf%lf%lf%lf",&a,&b,&e,&n); f=fun; printf("Integral=%lf",trap(f,a,b,e,n));} double trap(double(*f)(double),double a,double b,double e,double n) {double y1,y2=0,x,h; h=(b-a)/n; do {y1=y2; y2=0.5*((*f)(b)+(*f)(a)); for(x=a+h;x<=b-h;x+=h) y2+=(*f)(x); y2*=h; h/=2;} while(fabs(y1-y2)>e); return y2;} double fun(double x) { return x-1; } прямоугольник #include #include #include double fun(double); double rect(double(*)(double),double,double,double,double); void main() {double (*f)(double); double a,b,e,n; scanf("%lf%lf%lf%lf",&a,&b,&e,&n); f=fun; printf("Koren=%lf",rect(f,a,b,e,n));} double rect(double(*f)(double),double a,double b,double e,double n) {double y1,y2=0,h=fabs(a-b)/n,x; do {y1=y2; y2=f(a)*h; for(x=a+h;xe); return y2;} double fun(double x) { return x-1; } нах. логорифма #include #include #include int fact(int n); void main() {int n,i,ch=1; double x,e,sum=0; puts("Vvedite chislo, kolichestvo slagaemyx i tochnost':"); scanf("%lf%d%lf",&x,&n,&e); for(i=1;i<=n && (pow(x-1,i)/i)>e;i++) if(ch%2!=0) {sum+=pow(x-1,i)/i; ch++; } else {sum-=pow(x-1,i)/i; ch++; } printf("\nlnX = %lf",sum);} факториал #include int fact1(int n); int fact2(int n); int fact3(int n); void main() {int n,f1,f2=0,f3=0; puts("Enter n:"); scanf("%d",&n); f1 = fact1(n); f2 = fact2(n); f3 = fact3(n);} int fact1(int n) {if(n==1) return 1; else return fact1(n-1)*n;} int fact2(int n) {return n?n*fact2(n-1):1;} int fact3(int n) {static long i; // т.к. i-статическая, то для нее не созда- if(!n) return 1;// ется копии и при возврате через return // для вычисления 0! if (++i #include #define N1 3 #define N2 3 #define N3 3 int m[N1][N2]; int n[N1][N2]; int mn[N1][N3]; main () { int i,j,k; clrscr (); for (i=0; i #include #define n 4 void trans(int m[n][n]) { int i=0,j,t; while (i #include #define N 6 void swap(int *m,int i,int j) {int t; t=m[i]; m[i]=m[j]; m[j]=t; return;} void qs(int *m,int l,int r) {int i,las; if(l>=r) return; las=l; for(i=l+1;i<=r;i++) if(m[i]=0 && i2>=0) {while(i1>=0 && m[i1]>=n[i2]) mn[i3++]=m[i1--]; while(i2>=0 && m[i1]=0) for(;i1>=0;) mn[i3++]=m[i1--]; if(i2>=0) for(;i2>=0;) mn[i3++]=n[i2--]; for(i3=0;i3 #include int nod(int a,int b) {int c; if(b>a) nod(b,a); else if(b<=0) c=a; else c=nod(b,a%b); return c;} main () {int a,b,c; scanf("%d",&a); scanf("%d",&b); if(b>a) {c=a; a=b; b=c;} c=nod(a,b); printf("%d",c); getch (); return 0;} Рев.перв.слова #include #include void main() {char *s,c; int n; s=(char*)malloc(100*sizeof(char)); gets(s); n=0; while (*(s+n)!=' ' && *(s+n)) n++; n--; for(int i=0;i<(n+1)/2;i++) {c=*(s+i); *(s+i)=*(s+n-i); *(s+n-i)=c;} puts(s);} sinX #include #include #include int fact(int n); void main() {int n,i,ch=1,a,b,h,j; double e,sum=0; puts("Vvedite a,b,h, kolichestvo slagaemyx i tochnost':"); scanf("%d%d%d%d%lf",&a,&b,&h,&n,&e); for(j=a;j<=b;j+=h) {for(i=1;i<2*n && (pow(j,i)/fact(i))>e;i+=2) if(ch%2!=0) {sum+=pow(j,i)/fact(i); ch++; } else {sum-=pow(j,i)/fact(i); ch++;} printf("\nSinX = %lf",sum);}} int fact(int n) {if(n==0 || n==1) return 1; return fact(n-1)*n;} деление пополам #include #include double fun(double); void main() {double a,b,c,e,fa,fb,fc; scanf("%lf%lf%lf",&a,&b,&e); fa=fun(a); fb=fun(b); if(fa*fb>0) {printf("Net kornei"); return;} else do {c=(a+b)/2; fc=fun(c); if(fa*fc<0) b=c; if(fb*fc<0) a=c;} while(fabs(a-b) #define n 3 void hoare(int l,int r,int *ms) {int i=l,j=r; int se=ms[(1+r)/2]; int buf; do {while(ms[i]se) j--; if (i<=j) {buf=ms[i]; ms[i]=ms[j]; ms[j]=buf; i++;j--;}} while(i<=j); if(il) hoare(l,j,ms);} void main() {int i,j,ms[n][n],s; puts("Entar array:"); for(i=0;i #include void itoa(int); void main() {int n; scanf("%d",&n); itoa(n);} void itoa(int n) {int i=0; char *st,znak; n>0?znak='+':znak='-'; znak=='-'?n=-n:n; st=(char*)calloc(100,sizeof(char)); do *(st+i++)=n%10+'0'; while ((n/=10)>0); *(st+i)=znak; for(int j=i;j>=0;j--) printf("%c",*(st+j));} длина строки #include #include int length(char *str) {for(int i=0;str[i]!='\0';i++); return i;} void main() {int len; char str[100]; gets(str); len = length(str); printf("\nLen = %d",len);} Возр и б в 3 по возр #include #include #define n1 3 #define n2 5 void main() {int a1[n1], a2[n2], a3[n1+n2], i1, i2, i3, k; clrscr(); fflush(stdin); printf("\nVvedite uporyadochennyi po vozrastaniyu massiv #1:\n"); for (i1=0;i10) /*i1>0 chtoby ne sveryal s pustotoi*/ {puts("Nevernyi vvod! Povtorite pravil'no!"); fflush(stdin); i1--; continue;} } fflush(stdin); printf("\nVvedite uporyadochennyi po ubyvaniyu massiv #2:\n"); for (i2=0;i2=a2[i2-1] && i2>0) {puts("Nevernyi vvod! Povtorite pravil'no!"); fflush(stdin); i2--; continue;} } k=0; //schetchik i1=i3=0; //1 i 3 massivy stoyat na nachale i2=n2-1; //2 massiv stoit na konce while (k!=n1+n2) //poka schtchik ne dostignet razmernosti n1+n2 {if (a1[i1]<=a2[i2] && i1=0) //v protivnom sluchae postupaem naoborot { a3[i3]=a2[i2]; i2--; } } i3++; //uvelichivaem index 3 massiva k++; //uvelichivaem schetchik if (i1==n1)//esli pervyi massiv konchilsya for (i2;i2>=0;i2--)//prosto perepisyvaem 2 massiv v 3 { a3[i3]=a2[i2]; i3++; k++; } if (i2<0) //naoborot for (i1;i1 int NOD(int n, int m); main() { int n, m; int nod; scanf("%d%d", &n, &m); nod = NOD(n, m); printf("%d \n", nod); return 0;} int NOD(int n, int m) { int t; if (n= m */ if (n%m==0) {return m;} else return NOD(n%m, m);} сорт вставкоми в пор.убыв #define kl 5 void main() {int ms[kl],i,j,m,kk; //vvod for(i=0;i=0 && kk>ms[j]) ms[j-- +1]=ms[j];ms[j+1]=kk;} for(i=0;i #include #include void main() { char *st; int i,j,k; int sum,max; int a,b;//granicy slova clrscr(); puts("Vvedite razmernost' stroki:"); scanf("%d",&k); st=(char*)calloc(k,sizeof(char)); if(!st) { puts("Malo pamyati!"); return;} fflush(stdin); puts("\nVvedite text:"); get_str(st,k); max=0; for(i=0;i0 && (c=getchar())!='\n' && c!=13) *(st+i++)=c; *(st+i)='\0'; return i-1;} реверсия слов в масс строк #include #include #include #define n 3 void revs(char* m) {int l; static int i,k; char *s; l=0; while(m[i]!=' '&&m[i]!='\0') { l++; i++;} s=(char*)malloc(l*sizeof(char)); for(k=0;kt) {t=*(*(p+i)+j);i1=i; j1=j;} m=0; for(i2=0;i2=*(*(p+i2)+j1) && i1!=i2) m=1; if(!m){printf("\nNaidena sedlovays tochka %d c koordinatami: %d-stroka,%d-stolbec",*(*(p+i1)+j1),i1+1,j1+1); break;}}} Фиббоначи #include #include void fib(int n); void main() {int a[100],i,k; clrscr(); printf("Vvedite kolichestvo chisel:\n"); scanf("%d",&k); for(i=0;i #include #include void main(int argc,char** argv) {int i,j,k,z; char *c; clrscr(); for(i=1;i0) { c=*(argv+j); *(argv+j)=*(argv+j+1); *(argv+j+1)=c;} } for(i=1;i #include #include char* f(int n, int k, int p, char*s); main() {int n, p, k, n1; char *s; printf("Enter n, p: "); scanf("%d%d", &n, &p); k=0; n1=n; while (n>0) { n/=p; ++k; } s=(char*) calloc(k+1, sizeof(char)); s=f(n1, k-1, p, s); printf("Result: \n"); puts(s); free(s); getch(); return 0;} char* f(int n, int k, int p, char*s) { int ost; if (n>0) { ost=n%p; if (ost<10) { s[k]=ost+'0';} else {s[k]=ost-10+'A';} f(n/p, k-1, p, s); } return s;} ком.стр. посл слово реверс. main(int argc, char **argv) { int i, j; char tmp[256]; char **s; int n; n = argc-1; s = (char **) calloc(n, sizeof(char*)); for (i=0; i=0; --i) for (j=0; j 0) { strcpy(tmp, s[j]); strcpy(s[j], s[j+1]); strcpy(s[j+1], tmp);} printf("Args became: \n"); for (i=0; i #include #define n 10 void main () { int ms[n], i,k,a,b,j; puts ("\nVvod massiva"); for (i=0;i=a && ms[i]<=b) ms[i]=0; j=n-1; while (ms[j]==0) j--; for (i=0;ii && !(ms[j])) j--; if (i==j) break;} for (i=0;i #include #include void smax(char**,int); void sorts(char**,int); void revs(char*); main() {char *u,**s=0; int i,j,k,z,n; double *m,p; clrscr(); { printf("\n BBEDITE STROKI \n"); u=(char*)malloc(100*sizeof(char)); if(s) {for(i=0;i<10;i++) if(*(s+i)) free(*(s+i)); free(s);} s=(char**)calloc(10,sizeof(char*)); for(i=0;i<10;i++) {gets(u); if(*u=='\0') { n=i; break;} j=0; while(*(u+j)!='\0') j++; *(s+i)=(char*)malloc((j+1)*sizeof(char)); for(k=0;k #include #include enum Type { End, Float, Int}; float f(...); main() { float sum; sum = f(Int, 5, Float, 7.3, Int, 2, End); printf("%5.3f\n", sum); return 0;} float f(...) { float sum=0; Type type; int int_var; float float_var; va_list a; va_start(a, 0); while ( (type = va_arg(a, Type) ) != End) {if (type==Int) { int_var = va_arg(a, int); sum+=(float) int_var;} else if (type==Float) { float_var = va_arg(a, double); sum+=(float)float_var;}} va_end(a); return sum;} Ввод строк.сумма.длина. char *str_cat(char*,char*,int); int get_str(char*,int); int str_len(char*); #include #include #include void main () { char *st,*ss,*tmp=""; int i,j,k,n; clrscr(); puts("Vvedite razmernost' 1-oi stroki:"); scanf("%d",&n); if(!(st=(char*)calloc(n,sizeof(char)))) {puts("Malo pamyati!"); getch(); return;} puts("Vvedite razmernost' 2-oi stroki:"); scanf("%d",&k); if(!(st=(char*)calloc(k,sizeof(char)))) {puts("Malo pamyati!"); getch(); return;} fflush(stdin); puts("\nVvedite text stroki,kuda budem vstavlyat':"); get_str(st,n); puts("\nVvedite stroku, kotoruyu nado vstavit':"); get_str(ss,k); puts("\nVvedite index, s kotorogo nado vstavit' stroku:\n"); scanf("%d",&j); tmp=str_cat(st,ss,j); free(st); st=tmp; puts(st); getch(); } int get_str(char *st,int n) { int c,i=0; while(--n>0 && (c=getchar())!='\n' && c!=13) *(st+i++)=c; *(st+i)='\0'; return i-1;} char *str_cat(char *s1,char *s2,int k) {char *ss; int i; if(k>str_len(s1)) k=str_len(s1); ss=(char*)malloc(str_len(s1)+str_len(s2)); if(!ss) {puts("Malo pamyati!"); return 0;} for(i=0;i main() {int a[128][128]; int i, j, n; scanf("%d", &n); for (i=0; i void main() {int mas[3][4], i = 0, j = 0, m = 3, n = 4; for(i=0;ij;k--) if(mas[i-1][k] #include #include main() {int t,i,j,c2,r,s; double c1; char c,m[40]; printf("BBEDITE 4ICLO: "); scanf("%lf",&c1); printf("BBEDITE TO4HOCTb: "); scanf("%d",&t); printf("BBEDITE OCHOBAHIE CC:"); scanf("%d",&s); if(c1<0) {//otr li 4iclo? c1*=-1; //perev v pologit. c='-';} else c='0'; c2=c1; //celaia 4astb c1-=c2; //drobnaia 4astb i=20; //na4 zna4enia j=21; do { r=c2%s;//ostatok ot delenia c2/=s; //celaia 4astb ot delenia if(r>9) m[i--]=r-10+'A';//zapisb v massiv else m[i--]=r+'0'; }while(c2>0);//poka cel 4astb ne obnulitsia if(c=='-') m[i--]=c;//dopisivaem znak if(c1>0)//estb li dr 4astb? { m[j++]='.'; for(;t>0;t--,j++) //cikl s usloviem to4nosti { c1*=s; //umnog c2=c1; //videl celoi 4asti c1-=c2; //videl drobnoi 4acti if(r>9) m[j]=c2-10+'A';//zapisb v massiv else m[j]=c2+'0';}//no dr. 4astb obnulilasb} for(++i;i #include #include main() {int n, m; char **s; int i, j, k; int begin, end; int st; int len; printf("Enter number of strings and max len: "); scanf("%d%d", &n, &m); s=(char**) calloc(n, sizeof(char*)); if (s == NULL) {printf("Not enough memory!\n"); return 1;} for (i=0; i='a') && (s[i][j]<='e')) || ((s[i][j]>='A') && (s[i][j]<='E'))) { begin = j; st = 1; } else if (((s[i][j]>='f') && (s[i][j]<='z')) || ((s[i][j]>='F') && (s[i][j]<='Z'))) { st = 2; } } else if (st==1) { if (((s[i][j]>='a') && (s[i][j]<='e')) || ((s[i][j]>='A') && (s[i][j]<='E'))) { } else if (((s[i][j]>='f') && (s[i][j]<='z')) || ((s[i][j]>='F') && (s[i][j]<='Z'))) { st = 2; } else { end = j; for (k=begin; k='a') && (s[i][j]<='e')) || ((s[i][j]>='A') && (s[i][j]<='E'))) { } else if (((s[i][j]>='f') && (s[i][j]<='z')) || ((s[i][j]>='F') && (s[i][j]<='Z'))) { } else { st = 0; } } }} return 0;}