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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2013, 20:20   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Символьные строки в Си

К большому сожалению упустила эту тему в свое время,поэтому сейчас проблемы с заданиями,связанными с символьными строками.Такое задание:
Написать программу,которая определяет кол-во слов заданного текста,в которых встречается заданное сочетание букв. Начальный текст считать один раз символ за символом (одновременно определяя кол-во).Нельзя использовать string.h и stdlib.h
Может у кого-то есть шаблоны похожих программ или еще что-то?
Вероника99 вне форума Ответить с цитированием
Старый 16.12.2013, 20:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй так:
Код:
#include <stdio.h>

int main()
{
    char *s="herllo my orley keeping world";
    char *c="rl";
    int ok,i=0,j,cnt=0,cnl,l;

    for(;s[i];i++){
        ok=0;
        for(j=i;s[j] && s[j]!=' ';j++){
            for(l=0;s[l+j] && s[l+j]!=' ' && s[l+j]==c[l];l++);
            if(l==2) ok=1;
        }
        if(ok==1){ cnt++;
            l=(i==0)?i:i-1;
            for(;l<j;l++)printf("%c",s[l]);printf("\n");
        }
        i=j+1;
    }
    printf("%d",cnt);
    return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2013, 21:12   #3
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Есть черновой вариант,но здесь используется <string.h>,не знаю как можно заменить,чтобы этих функций не было
Код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#define N 100
int main(void)
{
	char sr[102]=" ";
	char h[100];
	char c, *a,*s;
	printf ("Vvedite stroky - ");
	gets(h);
	printf ("Vvedite symvol - ");
	scanf ("%c", &c);
	strcat (sr, h);
	if (strchr(sr, c)==NULL)			
	printf ("net symvolov");
	else							
	{ 
		s=sr;
		for (;*s!='\0'&&strchr(s, c)!='\0';)		
		{
			s=strchr(s, c);
			while (*s!='\n')			
			{
				a=s;
				while (*s!=' '&&*s!='\0')		
				{
					s++;
				}
				while (*a!=' '&&*a>=sr[0])		
				{
					a--;
				}
				while (a!=s)
				{
					printf ("%c",*a);				
					a++;
				}	
			break;
		}
	}	
	}
	return 0;
}
Вероника99 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на символьные строки Blagodetel Помощь студентам 1 09.12.2013 17:46
Символьные строки. Си. meta Помощь студентам 2 24.05.2011 16:40
Символьные строки Арнис Общие вопросы C/C++ 2 18.09.2010 22:59
Символьные строки Арнис Общие вопросы C/C++ 1 13.07.2010 14:04
Символьные строки (Delphi) Angel G G Помощь студентам 8 27.12.2009 19:54