Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2012, 13:19   #1
clarkson
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 1
Вопрос Строки

Ребят нужна помощь. Надо срочно сдать лабу. По чему ничего не выводит? что надо точно чтобы выводилось, по заданию?
Вот само задание: А. Написать собственную реализацию стандартной функции strstr.
Функция strstr описана в заголовочном файле <string.h> как
char *strstr (const char *string, const char *strCharSet);
и предназначена для поиска строки strCharSet в строке string. Возвращается указатель на начальный
символ первого вхождения strCharSet в строку string или NULL, если string не содержит strCharSet.
Код:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;


char*  my_strstr (const char *str1, const char *str2)
{
	
		char *cp = (char *) str1;
        char *s1, *s2;
	
        if ( !*str2 )
            return((char *)str1);

        while (*cp)
        {
                s1 = cp;
                s2 = (char *) str2;

                while ( *s1 && *s2 && !(*s1-*s2) )
                        s1++, s2++;

                if (!*s2)
                        return(cp);

                cp++;
        }

        return(NULL);

}

int main()
{

    char s1[] = "aaab";
    char f1[] = "aab";
    char f2[] = "aaa";
	char s2[] = "aab ggf";
    char f3[] = " g";
	char s3[] = "a";


    if (strstr(s1, f1) != my_strstr(s1, f1))
        printf("test1 fail %s", strstr(s1, f1), my_strstr(s1, f1));
    else
		printf(".");
	

    if (strstr(s1, f2) != my_strstr(s1, f2))
        printf("test2 fail", strstr(s1, f2), my_strstr(s1, f2));
    else
        printf(".");
	

    if (strstr(s2, f3) != my_strstr(s2, f3))
        printf("test5 fail expected", strstr(s2, f3), my_strstr(s2, f3));
    else
        printf(".");


    if (strstr(s3, f1) != my_strstr(s3, f1))
        printf("tst5 fail", strstr(s3, f1), my_strstr(s3, f1));
    else
        printf(" ");


    printf(" ");

	system("pause");
	return 0;
}
clarkson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10