На этом шаге мы приведем решения нескольких задач с использованием ранее рассмотренных
функций.
#include <iostream.h> #include <string.h> #include <stdio.h> void main () { int k=0,i=0, n; char x1[40],x2[80],*px1,*px2; cout << "Введите слово не больше, чем из 40 букв \n"; gets(x1); px1 = &x1[0]; px2 = &x2[0]; n = strlen(x1)+1; while (k<n) { if (*(px1+k)!='а') { *(px2+i) = *(px1+k); i++; k++; } else { *(px2+i) = 'к'; *(px2+i+1) = 'у'; k++; i += 2; } } puts(x2); }
#include <iostream.h> #include <string.h> #include <stdio.h> void main () { int k=0,i=0,n; char x1[40],x2[40],*px1,*px2; cout << "Введите слово: "; gets(x1); px1 = &x1[0]; px2 = &x2[0]; n = strlen (x1)+1; while (k<n) { if (strncmp((px1+k),"ку",2)!=0) { *(px2+i++) = *(px1+k++); } else { *(px2+i++) = 'а'; k += 2; } } puts(x2); }
#include <iostream.h> #include <string.h> #include <stdio.h> void main () { char a[140],b[140],*pa=a,*pb=b; /* -------------------------------- */ cout << "Введите слово..."; gets(a); int pr = 2*strlen(a); *(pb+pr+1) = '\0'; while ((*pb = *pa)!='\0') { pb++; *pb++ = *pa++; } cout << "\n Результат:"; puts(b); }
#include <iostream.h> #include <string.h> #include <stdio.h> void main () { char L1[80], L2[80]; char *cp1 = L1, *cp2 = L2, *t; cout << "Введите исходный текст...\n"; gets(L1); do { if ((*(cp1+3)=='\0')||(*(cp1+3)==' ')) { if (!strncmp(cp1,"ing",3)) { *cp2 = 'e'; *(cp2+1) = 'd'; cp1 += 3; cp2 += 2; } else { *cp2++ = *cp1++; } } else { *cp2++ = *cp1++; } } while (*cp1!='\0'); *cp2 = '\0'; cout << "Результат: "; puts (L2); }
#include <iostream.h> #include <string.h> #include <stdio.h> void main () { char a[30],b[30],*pa=&a[0],*pb=&b[0]; cout << "Введите слово не больше, чем из 30 букв\n"; cin >> a; int n = strlen(a)+1, j = 0, i = 1; while (i<n) { *(pb+j++) = *(pa+i); i += 2; if (i>=n) *(pb+j) = '\0'; } puts(b); }
#include <stdio.h> #define print3(x1,x2,x3) printf("%d %d %d\n",x1,x2,x3) #define ENUF 3 #define EOS '\0' #define NEXT(i) input[i++] #define FALSE 0 #define TRUE 1 char input[]="PI=3.14159, approximately"; void main () { char c; int done,high,i,in,low; /* ----------------- */ i = low=in=high=0; while (c=NEXT(i)!=EOS) if (c<'0') low++; else if (c>'9') high++; else in++; print3 (low,in,high); /* Управление 1 */ i = low=in=high=0; done = FALSE; while ((c=NEXT(i))!=EOS && !done) if (c<'0') low++; else if (c>'9') high++; else in++; if (low>=ENUF||high>=ENUF|| in>=ENUF) done = TRUE; print3 (low,in,high); /* Управление 2 */ i = low=in=high=0; done = FALSE; while ((c=NEXT(i))!=EOS && !done) if (c<'0') done = (++low==ENUF); else if (c>'9') done = (++high==ENUF); else done = (++in==ENUF); print3 (low,in,high); /* Управление 3 */ }
На следующем шаге мы поговорим о параметрах, задаваемых в командной строке.