Этапы разработки программы. Разработка или выбор алгоритма решения поставленной задачи. Оформление документации на программу, страница 24

for i:=1 to k do

if (Copy(mas_sl[i], length (mas_sl[i])-2,3)=’ing’)

then begin Delete (mas_sl[i], length (mas_sl[i]-2,3)

Insert (‘ed’, mas_sl[i], length(mas_sl[i])+1);

end. очередь указателем на другую переменную типа массив, поэтому можно использовать указатель на указатель.

Количество обрабатываемых данных неизвестно. Обрабатывается информация о студентах, сведенье о каждом студенте включает в себя: ФИО, год рождения, группа, № курса. Выдать список всех студентов заданного курса.

main()

[struct stud

[char fio[40];

char gr[10];

int course;} *uk_mas;

intkol st, i,с;

printf("количество:");

sсаnf("%d", &kol st);

uk_mas=(struct stud~)malloc(kolst*sizeof(struct stud)); - выделяем память под количество студентов

for(i=0;i<kol st;i++)

{

рrintf"Данные для %d студента\n ", i+1);

printf(" ФИО:");

sсаnf("%s", &ukmаs[i].fio);

printf("год рождения:");

sсаnf("%s",&uk rnаs[i].gr);

printf("курс:");

sсаnf("%d",&uk mas[i].course);

}

рrintf("Введите № курса");

sсаnf("%d",&c);

for(i=0;i<kol st;i++)

if(uk mas[i].course==c)

рrintf"\n%s", ukmas[i].fio);

free(uk mas);

}

п.11.Строки.

В языке Си и С++ отдельного строкового типа нет, строка в Си и С++ — это одномерный массив типа char заканчивающийся нулевым символом, который является признаком конца строки. Для нулевого символа определена специальная константа '~0'(символ след ноль).

char str[10]; - мы задали обычный одномерный массив, но если мы хотим трактовать его как строку символов, то это будет строка максимум из 10 элементов, а последний байт зарезервирован под нулевой символ.

char *str; - это описание представляет собой указатель на одномерный массив элементов символьного типа с начальным адресом str и пока неопределенным числом элементов.

Язык Си допускает использование строковых констант (последовательность символов, заключенных в “ “).

сhаr *str = " string " — компилятор статически зарезервирует 7 байт, 7-oN байт для '~0', а str будет хранить адрес начала строки.

Если инициализируем строку посимвольно, то необходимо добавить в конец строки '~0':

str[0]= 's'

str[6]= '\0'

Для работы со строками существует специальная библиотека, прототипы функций этой библиотеки находятся в файле " string.h ".

Все функции библиотеки работают со строками, оканчивающимися символом '\0'.

Функции работы со строками

1.копирование строк.

char * strcpy ( char *stringl,char * string2)

Функция копирует строку, адрес которой определяется значением аргумента string2, включая '\0', по адресу, определенному string1 и возвращает значение аргумента string l.

2. Склеивание строк <конкатенацияМ.

char ~strcat(char ~stringl, char *string2)

Добавляет строку, заданную значением аргумента string2, в конец строки, адрес которой задается значением аргумента stringl, записывая в конец строки результата '\0' и возвращает указатель на сцепленную строку (string 1).

3. Сравнение строк.

int strcmp(char *stringl, char *string2)

Возвращает О, если stringl=string2. Если 1-ая меньше чем 2-ая, то возвращает значение меньшее О, больше О, если 2-ая больше первой. Данная функция сравнивает строки, считая символы верхнего и нижнего регистра эквивалентными (только для латинских).

4. Длина дроки.

int str1en(char *string)

Возвращает длину строки в байтах, причем нулевой байт не учитывается.

5. Поиск первого вхождения заданного символа.

char *strstr(char *stringl, char ch)

Осуществляет поиск первого вхождения ch и возвращает указатель на первый его символ. Если символ не найден, то возвращается константа NULL.

б. Поиск вхождения строки в строку.

char 'strstr(char *stringl, char *string2)

Возвращает указатель на первое вхождение подстроки string2 в строку stringl, если не найдено, то NULL.

7. Преобразование строки в нижние регистры.

char "strlwr(char *string)(только для латинских)

8. Перевод строки в нижние регистры.