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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 14:01   #1
ianush
Новичок
Джуниор
 
Регистрация: 17.05.2011
Сообщений: 2
По умолчанию Поиск подстроки в строке ...на Турбо СИ

Срочно нужна курсовая работа на тему,"Поиск подстроки в строке"....Имеется код,но никак немогу отладить программу:
Исправьте...или помогите с новой программой....Заранее большое спасибо...
Код:
#include <stdio.h>
#include <conio.h>
#define MAXLINE 1000 //максимальный размер строки
#define MAXPATTERN 100 //максимальный размер подстроки
 int getline(char s[], int lim);
int strindex(char s[], char t[]);
 int main()
{
    char line[MAXLINE], pattern[MAXPATTERN];
    int index;
    printf("Vvedite stroku: "); 
    getline(line, MAXLINE);
    printf("Vvedite podstroku: ");
    getline(pattern, MAXPATTERN);
    if((index = strindex(line, pattern)) >= 0)
       printf("Index = %d\n", index);
    else
       printf("\nSovpadeniy net!\n");
       
    getche();
    return 0;
} 
/* считывает строку */
int getline(char s[], int lim)
{
    int c, i = 0;
    while(i<lim-1 && (c=getchar())!='\n')
       s[i++] = c;
    if(c == '\n')
       s[i++] = c;
    s[i] = '\0';
    return i;
} 
/* находит место t в s или возвращает -1, если t нет в s */
int strindex(char s[], char t[])
{
    int i, j, k;
    
    for(i=0; s[i]!='\0'; i++) {
       for(j=i, k=0; t[k]!='\0' && s[j]==t[k]; j++, k++)
          ;
       if(k>0 && t[k]=='\0')
          return i;
    }
    return -1;
}

Последний раз редактировалось Stilet; 17.05.2011 в 17:39.
ianush вне форума Ответить с цитированием
Старый 17.05.2011, 17:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю свое видение данной сложности:
Код:
// Поиск подстроки в строке.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"

int at(char* Source, char* whatSeek){
	bool ok=false;int i=0;
	for(i=0;Source[i]!=0 && !ok;i++){
		bool end=false;
		int j=0;
		for(j=0;whatSeek[j]!=0;j++){ end=true;
			if(Source[i+j]!=whatSeek[j]) break;
		}
		ok=(end && whatSeek[j]==0);
	};
	return (ok)?i:-1;
}
int _tmain(int argc, _TCHAR* argv[])
{
	char s[]="hello world\0";
	printf("%d",at(s,"wo"));
	getchar();
	return 0;
}
VS2010Beta
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2011, 21:51   #3
ianush
Новичок
Джуниор
 
Регистрация: 17.05.2011
Сообщений: 2
По умолчанию

Мне надо вот что,
ввожу случайный набор букв скажем"dsfdghfghjgyyukjjhjnvgvhvhb"
теперь вводим подстроку"dsf"..... мне нужно узнать,есть подстрока которую я ввожу,в строке...если есть то вывести индекс
ianush вне форума Ответить с цитированием
Старый 13.11.2011, 19:05   #4
А-р-т-ё-м
Новичок
Джуниор
 
Регистрация: 13.11.2011
Сообщений: 2
По умолчанию

Напишите пожалуйста цикл отвечающий за деление строки на две подстроки...в си
А-р-т-ё-м вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск подстроки в строке videolord Общие вопросы по Java, Java SE, Kotlin 2 10.04.2011 09:11
Поиск подстроки в строке valdemar593 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 03.06.2010 21:42
C++ Поиск подстроки в строке по маске Ханако Сейсин Помощь студентам 0 29.04.2010 14:36
поиск подстроки в строке!!! StoneSour Общие вопросы C/C++ 2 15.03.2010 21:31
Найти позицию подстроки в строке Ozerich Общие вопросы C/C++ 5 15.12.2008 16:06