D ) заменить все прописные латинские буквы строчными 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

D ) заменить все прописные латинские буквы строчными



# include <iostream.h>

# include <stdio.h>

# include <conio.h>

char s[100];

int i, j, k;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (i=0; s[i]!='\0'; i++)

 for (j=0; s[j]!='\0'; j++)

if ((s[j]>='A')&&(s[j]<='Z'))

s[j]+=32;

puts(s);

getch(); }

Пример 42. Длина не превысит 100 элементов. Пусть во входном потоке находится (Строка символов). Вывести в выходной поток последовательность литер, измененную следующим образом:

E) заменить все строчные латинские буквы прописными

# include <iostream.h>

# include <stdio.h>

# include <conio.h>

char s[100];

int i, j, k;

int main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (i=0; s[i]!='\0'; i++)

 for (j=0; s[j]!='\0'; j++)

if ((s[j]>='a')&&(s[j]<='z'))

s[j]-=32;

puts(s);

getch();

return 0; }

Пример 43. Длина не превысит 100 элементов. Пусть во входном потоке находится (Строка символов). Вывести в выходной поток последовательность литер, измененную следующим образом:

f) каждую группу рядом стоящих символов ‘+’ заменить одним таким символом;

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, k;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (l =0; s[l]!='\0'; l++)

if (s[l]=='+')

for (i=l+1; s[i]!='\0'; i++)

s[i]=s[i+1];

puts(s);

getch();

Пример 44. Вывести в выходной поток последовательность симв.

g)каждую группу из n рядом стоящих символов ‘ * ’ заменить группой из n/2 рядом стоящих символов ‘+’ (n >= 2); одиночные ‘ * ’ копировать в выходной поток без изменения;

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, k;

int main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (l=0; s[l]!='\0'; l++)

if (s[l]=='*')/*&&(s[l+1]=='*'))*/

{ for (i=l; s[i]!='\0'; i++)

           s[i]=s[i+1];

s[l]='+';}

puts(s);

getch();

return 0; }

Пример 45. Вывести в выходной поток последовательность симв.

h) удалить из каждой группы подряд идущих цифр все начальные незначащие нули (если группа состоит только из нулей, то заменить эту группу одним нулем);

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, k, S, m, n;

int main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (j=0; s[j]!='\0'; j++)

 for (l=0; s[l]!='\0'; l++)

if ((s[l]=='0')&&(s[l-1]==' '))

{  S=0;

n=0;

for (k=l; s[k+1]!=' '; k++)

           {  S+=int(s[k]);

           n++; }

if (S==0)

  for (m=l; m<l+n-1; m++)

           s[m]=s[m+1];

else

           for (i=l; s[i]!='\0'; i++)

           s[i]=s[i+1]; }

puts(s);

getch();

return 0; }

 

 

Пример 46. Вывести в выходной поток последовательность симв.

Удалить все комбинации символов the

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, k;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (l=0; s[l]!='\0'; l++)

 for (i=0; s[i]!='\0'; i++)

if ((s[i]=='t')&&(s[i+1]=='h')&&(s[i+2]=='e'))

{  k=i;

for (j=k; s[j-1]!='\0'; j++)

           s[j]=s[j+3];

} puts(s);

getch(); }

Пример 47. Вывести в выходной поток последовательность симв.

J) оставить только те группы цифр, которые составлены из подряд идущих цифр с возрастающими значениями; все остальные цифры и группы цифр удалить

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100], z[100];

char a, b;

int i, j, l, k=-1, S, m, n;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (j=0; s[j]!='\0'; j++)

{ if ((s[j]<'0')||(s[j]>'9'))

{ k++;

z[k]=s[j];

}   if (((s[j]>='0')&&(s[j]<='9'))&&((s[j-1]>='0')&&(s[j-1]<='9'))&&((s[j+1]>='0')&&(s[j+1]<='9')))

if ((s[j]>s[j-1])&&(s[j]<s[j+1]))

  { k++;

           z[k]=s[j-1];

           k++;

           z[k]=s[j];

           k++;

           z[k]=s[j+1];

  }  }

puts(z);

getch(); }

Пример 48. Вывести в выходной поток последовательность симв.

k) заменить все комбинации символов child комбинациями символов children;

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, k;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (l=0; s[l]!='\0'; l++)

if ((s[l]=='c')&&(s[l+1]=='h')&&(s[l+2]=='i')&&(s[l+3]=='l')&&(s[l+4]=='d'))

{  k=l+4;

for (i=strlen(s)+1; i>k; i--)

s[i+1]=s[i];

s[k+1]='r';

k=l+5;

for (i=strlen(s)+1; i>k; i--)

s[i+1]=s[i];

s[k+1]='e';

k=l+6;

for (i=strlen(s)+1; i>k; i--)

s[i+1]=s[i];

s[k+1]='n';

} puts(s);

getch(); }

Пример 49. Вывести в выходной поток последовательность симв.

 l) удалить группы символов, расположенные между фигурными скобками { и }. Скобки тоже должны быть удалены.

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100];

char a, b;

int i, j, l, m, k, n;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (i=0; s[i]!='\0'; i++)

if (s[i]=='{')

{ for (k=i; s[k-1]!='}'; k++)

    if (s[k]=='}')

    m=k;

for (k=i; k!=m+1; k++)

    for (j=i; s[j]!='\0'; j++)

    s[j]=s[j+1];

} puts(s);

getch(); }

Пример 50. a) удалить из каждой группы подряд идущих цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей.

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100], z[100];

char a, b;

int i, j, l, k=-1, x, m, n;

int main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (x=0; s[x]!='\0'; x++)

 {  m=0;  j=x;

do

{ j++;

if (s[j]=='.')

m=j; //index tochki

}

while (s[j]!='.');

l=0;

do

{  j++;

if ((s[j]>='0')&&(s[j]<='9'))

l++; //kol-vo cifr posle tochki

}

while((s[j]>='0')&&(s[j]<='9'));

if (l>2) //esli cifr posle tochki bolshe 2, to

{   //sdvigat' cifri, poka oni cifri, nachinai s elementa s indexom (m+3)

for (n=1; n<l-1; n++)

for (i=m+3; s[i]!='\0'; i++)

s[i]=s[i+1];

} }

puts(s);

getch();

return 0;

Пример 51. b) удалить из каждой группы цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка либо в этой группе нет других цифр, кроме нулей

# include <stdio.h>

# include <iostream.h>

# include <conio.h>

# include <string.h>

char s[100], z[100];

char a, b;

int i, j, l, k, x=-1, m, n;

void main()

{ puts("Vvedite stroku texta: \n");

gets(s);

for (l=0; s[l]!='\0'; l++)

{

do

 {   x++;

if (s[x]=='0')

{  m=0;

n=0;

for (i=x+1; ((s[i]>='0')&&(s[i]<='9')); i++)

        if (s[i]=='0')

        m++; //kol-vo nulevih el-tov posle naidennogo nulia

        else

        n++; //kol-vo nenulevih el-tov posle naidennogo nulia

}  }

while (s[x]!='0');

if (s[x-1]!='.')

{ if (n==0)

for (k=1; k<=m; k++)

for (j=x; s[j]!='\0'; j++)

s[j]=s[j+1];

else

for (k=1; k<=m+1; k++)

for (j=x; s[j]!='\0'; j++)

s[j]=s[j+1];

} }

puts(s);

getch(); }

 

 

Пример 52. Исследование последствий выхода индекса элемента за границу массива.

Организовать цикл, в котором парами (х [0], у [0], затем х [1], у [1] и т.д.) вводятся значения элементов массивов х и b.

#include <stdio.h>

#include <conio.h>

int main()

{ int n=-1,x[3],y[3],i;

 for (i=0;i<3;i++)

{ printf("Vvedite x[%d]:",i);

scanf("%d",&x[i]);

printf("Vvedite y[%d]:",i);

scanf("%d",&y[i]);

}

 printf("Vvedite x[%d]:",i);

 scanf("%d",&x[3]);

 printf("Vvedite y[%d]:",i);

 scanf("%d",&y[i]);

getch();

return 0; }

Пример 53. Определение длины одномерного массива. В функции main описан (без указания количества элементов) и инициализирован массив arrDbl из значений типа double. Результатом применения операции sizeof к имени массива является размер массива в байтах.

#include <stdio.h>

#include <conio.h>

void main()

{ double arrDbl[]={1.3,1.5,2.8,1.7,1.1,2.1,2.2};

 int i,size;

 size=sizeof(arrDbl)/sizeof(arrDbl[i]);

 printf("Razmer dannogo massiva=%d\n",size);

 for (i=0;i<size;i++)

printf("arrDbl[%d]=%.3f\t razmer=%f\n",i,*(arrDbl+i),sizeof(*(arrDbl+i)));

getch();

}

Пример 54. Использование указателей для доступа к элементам массива. Описать одномерный массив arr из 5 элементов типа int.



Поделиться:


Последнее изменение этой страницы: 2021-08-16; просмотров: 164; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.70.101 (0.022 с.)