Составить функцию для обработки символьных строк и программу для проверки работоспособности функции - C (СИ)
Формулировка задачи:
Кому не трудно, помогите
Функция WordCmp ( s1 , s2 ) Назначение : сравнение строк ( с игнорированием множественных пробелов )
Составить функцию для обработки символьных строк и программу для проверки работоспособности функции . За образец можно брать библиотечные функции обработки строк языка С , но не использовать их в своей функции . При выполнении задания необходимо: 1 . Строки для тестирования функции вводить в главной программе с клавиатуры. 2 . Предусмотреть обработку ошибок в задании параметров и особые случаи . 3 . Разработать два варианта заданной функции с использованием: а ) индексированных массивов; б) указателей.Решение задачи: «Составить функцию для обработки символьных строк и программу для проверки работоспособности функции»
textual
Листинг программы
#include <stdio.h>
int WordCmp (char *s1, char *s2)
{
while ( *s1 || *s2 )
if ( ( *s1 - *s2 ) && ( *s1 !=' ' ) && ( *s2 != ' ' ) )
return *s1 - *s2 ;
else
{
if ( *s1 == ' ' && *s2 != ' ' )
++s1;
else
if ( *s2 == ' ' && *s1 != ' ' )
++s2;
else
{
++s1;
++s2;
}
}
return 1;
}
int WordCmpMas (char s1[], char s2[])
{
int i=0,j=0;
while ( s1[i] || s2[j] )
if (( s1[i] - s2[j] ) && ( s1[i] !=' ') && (s2[j] != ' '))
return s1[i] - s2[j] ;
else
{
if ( s1[i] == ' ' && s2[j] != ' ' )
++i;
else
if ( s2[j] == ' ' && s1[i] != ' ' )
++j;
else
{
++i;
++j;
}
}
return 1;
}
int main()
{
char s1[10];
char s2[10];
printf("Enter string 1: ");
gets(s1);
printf("Enter string 2: ");
gets(s2);
printf("%d\n",WordCmp(s1,s2));
printf("%d\n",WordCmpMas(s1,s2));
return 0;
}
Объяснение кода листинга программы
- Предоставлен код на языке C.
- Функция WordCmp сравнивает две символьные строки, возвращая разность между первым отличающимся символом в строках. Если символы равны, функция пропускает один из них и продолжает сравнивать следующие символы.
- Функция WordCmpMas сравнивает две символьные строки, используя массивы символов. Алгоритм работы функции аналогичен функции WordCmp.
- В функции main пользователю предлагается ввести две символьные строки с помощью функции gets.
- Затем результаты сравнения этих строк функциями WordCmp и WordCmpMas выводятся на экран с помощью функции printf.
- Возвращаемое значение функции main равно 0, что означает успешный конец работы программы.