4249

Статичні одновимірні масиви. Оператори роботи з рядками. Обробка одновимірних масивів та рядків

Практическая работа

Информатика, кибернетика и программирование

Оператори роботи з рядками. Обробка одновимірних масивів та рядків. Мета: навчитись проводити обробку одновимірних масивів та рядків мовою програмування С. Завдання 1. Задано рядок. Перевірити чи він складається із підряд...

Украинкский

2013-01-06

414.18 KB

1 чел.

Статичні одновимірні масиви. Оператори роботи з рядками. Обробка одновимірних масивів та рядків.

Мета: навчитись проводити обробку одновимірних масивів та рядків мовою програмування С.

Завдання

1. Задано рядок.Перевірити чи він складається із підрядка що повторюється декілька разів. (asdfasdfasdf)

Програма

#include <stdio.h>

#include <string.h>

void main()

{

char s[50],st[50];

int i,j,l,n=1;

printf("Введіть рядок:  "); gets(s);

for (i=1;i<(l=strlen(s));i++)

{for (j=0;j<l;j++) (j+i<l)?(st[j]=s[j+i]):(st[j]=s[j+i-l]);

st[j]='\0'; if (strcmp(s,st)==0) n++;}

if (n-1) {for (i=0;i<l/n;i++) st[i]=s[i];

st[i]='\0'; printf("\tПідрядок \"%s\" повторюється %d раз.\n",st,n);}

else printf("\tРядок не з підрядків, що повторюються! \n");

}


початок

Блок-схема

Ввести(s)

l=strlen(s)

i=1, l

j=0, l

+

j+i<l?

st[j]=s[j+i-l]

st[j]=s[j+i]

st[j]='\0'

+

n>1?

+

s=st?

st[i]=s[i]

n=n+1

Рядок не з підрядків

i=0, l/n

кінець

Підрядок  st повторюється

st[i]='\0'


Висновок

Виконавши роботу, я засвоїв навички роботи з рядками та основні функції для їх обробки в мові програмування С.