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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2018, 22:29   #1
nikita1306
Новичок
Джуниор
 
Регистрация: 21.12.2018
Сообщений: 1
По умолчанию Строки C

Необходимо в массиве строк в каждой строке найти слова и расставить их в порядке возрастания согласных (массив разделителей дается). Очень нужна помощь, заранее благодарен за любую помощь. Вот частично работающий код
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 1000
#define MaxNum 100
char *arr_sep();//array of separators
char *search_Sep(const char *s, char s1[MaxNum][MAXLEN], int StrNum);
int main()
{
	char s1[MaxNum][MAXLEN],//массив строк
		words[MaxNum],
		temp[MaxNum];
	const char *separ = "!,.;-+*/? ";//массив символов разделителей
	char *s;
	int n,//количество строк
		i,//вспомогательная
		N,//вспомогательная
		k,
		j,
		p,
		StrNum,
		WordsNum,
		indexWord,
		nSep[10];//вспомогательная

	WordsNum = 0;
	i = 1;
	n = 1;
	p = 0;
	StrNum = 1;
	//
	//
	//
	puts("Enter 1 string:");
	fgets(s1[0], MAXLEN, stdin);//ввод первой строки
	N = strlen(s1[0]);
	s1[0][N - 1] = '\0';
	do
	{
		printf("Enter %d string:", i + 1);
		fgets(s1[i], MAXLEN, stdin);//ввод строк
		N = strlen(s1[i]);
		s1[i][N - 1] = '\0';
		puts(s1[i]);
		for (int j = 0; (j < i) && (j != i); j++)
			if ((k = strcmp(s1[j], s1[i])) == 0)//сравнение строк
			{
				j = i;
				i = MaxNum;
			}
		if (i != MaxNum)
			i++;
		n++;
		StrNum++;
	} while (i != MaxNum);//enter array of strings
//
//
//
	k = 0;
	puts("----------");
s=arr_sep();
for(i=0;i<strlen(s)-1;i++)
    printf("%c\n", s[i]);

search_Sep(separ, s1,StrNum);
	for (i = 0; i < 10; i++)
		nSep[i] = 0;
	p = 0;
	k = 0;

	puts("-------");


	return 0;
}
//-----------
char *arr_sep()
{
    char *s;
    int i,
        MaxSep;
    i=1;
scanf("%c", &s[0]);
getchar();
printf("%c %d", s[0], s[0]);
MaxSep=(int)s[0];

for(i=1;i<MAXLEN;i++)
    {
        scanf("%c", &s[i]);
        getchar();
        printf("%c %d",s[i],s[i]);
        if (s[i]>MaxSep)
            i=MAXLEN;
    }
return s;
}
char *search_Sep(const char *s, char s1[MaxNum][MAXLEN], int StrNum)
{
    int i,
    j,
        num_sep[MaxNum];
    char *temp;

        temp=strtok(s1, s);
        printf("%s\n", temp);
        while(temp!=NULL)
          {
            i++;
           printf("%s\n", temp);
            temp=strtok(NULL, s);

          }
return temp;
    }

Последний раз редактировалось nikita1306; 21.12.2018 в 22:41.
nikita1306 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти строки матрицы, для которых есть коллинеарные строки DowL_HH4 Общие вопросы C/C++ 1 27.04.2018 12:50
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10