Составить функцию для обработки символьных строк и программу для проверки работоспособности функции - 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;
}

Объяснение кода листинга программы

  1. Предоставлен код на языке C.
  2. Функция WordCmp сравнивает две символьные строки, возвращая разность между первым отличающимся символом в строках. Если символы равны, функция пропускает один из них и продолжает сравнивать следующие символы.
  3. Функция WordCmpMas сравнивает две символьные строки, используя массивы символов. Алгоритм работы функции аналогичен функции WordCmp.
  4. В функции main пользователю предлагается ввести две символьные строки с помощью функции gets.
  5. Затем результаты сравнения этих строк функциями WordCmp и WordCmpMas выводятся на экран с помощью функции printf.
  6. Возвращаемое значение функции main равно 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы