Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Завдання по обробці рядків



Ввести символьний рядок і розділити його на частини фіксованої довжини. Вивести на екран отримані частини рядка "у стовпчик", тобто кожну частину з нового рядка екрана. Нехай у кожній частині рядка буде не більш 3 символів:

//динамічні символьні масиви, покажчики і рядки

#include <stdio. h>

#include <string. h>

void main()

{

int len_max, len=0;

char*n;* input;

int ks;//кількість "частин" рядка

char**c;//покажчик на масив покажчиків

in+n=0;

in+j=0;

in+i;

printf("введіть максимальний елемент рядка:");

scanf("%d", & len_max);

/* виділити пам'ять для рядка, що вводиться,*/

input=(char*)malloc(len_max);

printf("\n уведи рядок:");

/*видалення символу '\n' із вхідного потоку, щоб він не став нульовим символом рядка, що вводиться,*/

get char();

/* читання рядка*/

while((*(input+len++)=get char());='\n');

len;//len-кількість уведених символів

/* Додати ознака кінця рядка*/

*(input+len)='\0';

/* виділити пам'ять для введеного рядка */

n=(char *) malloc (len++);

while(*(n+j++0=* input++);//інформацію з вхідного рядка

/* видалення із пам'яті вихідного рядка */

free(input);

ks =(len++)/3;//кількість частин

с=(char**) calloc(ks, sizeof(char*)//void callosb (unsignedn,kn signed m) - виділення динамічної пам'яті на n елементів по m байт.

/* Розподіл рядка на ks частин*/

for(j=0;j<ks;j++)

{

*(c+j)=(char*) malloc(u);//Пам'ять для частини

for (i=0;(i<3&& *(h+n));i++)

*(*cc +j) +i)=*(h+n++);

*(*(c+j+i)='\0';

}

/* видалення з пам'яті обробленого рядка*/

free(h);

/* Висновок "частин" вихідного рядка*/

for (j=0; j<ks;j++)

{

printf ("\n%s", *(c_j));

}

/* звільнити пам'ять від динамічних масивів*/

for ij=0;j<ks;j++)

free989c=J00;

free(c);

}





Дата публикования: 2015-09-17; Прочитано: 212 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...