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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 16:22   #1
nick23
 
Регистрация: 26.10.2009
Сообщений: 4
По умолчанию СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова

Помогите написать программку, только начинаю изучать СИ.

Дана последовательность символов, состоящая из слов. Удалить слова, которые содержат все повторяющиеся буквы первого слова, с сохранением структуры пробелов. Вывести на экран отредактированный текст или сообщение «Нет», если удаление слов не было.

Я вот тут набросал кое-что, но в конце надо удалять не символы, а слова, не знаю как, помогите кто знает, очень нужно !!!
Заранее благодарен !!!

Код:
#include <stdio.h>

main(){
char ch, str; 
int k,i,j;
/*перебираем строку, до тех пора пока не появится пробел(т.е. получаем первое слово)*/ 
while((ch=getchar( )) != ' ') {   
str[] = ch;
}
/* заносим в массив всю строку*/ 
str_full[] = ch;

/*перебираем первое слово и если в нем есть одинаковые буквы создаем массив sybmol с этими буквами*/ 
for(k = 0;k <= strlen(str);k++) {

while(k <= (strlen(str)-1)) {
if (str[k] == str[k+1]){
sybmol[] = str[k];
}
}
}


/* перебираем всю строку и печатаем только те символы, которые не равны повторяющимся символам*/ 
for(i = 0;i <= strlen(str_full);i++) {
int j = 0;
while(j <= (strlen(sybmol))) {
if (str_full[i] !== sybmol[j]) 
printf(str_full[i]);
j++;
}
}
}
пожалуйста....ну очень надо

Последний раз редактировалось Stilet; 29.10.2009 в 07:39.
nick23 вне форума Ответить с цитированием
Старый 27.10.2009, 13:27   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Вам программку нужно или объяснить где-что не так?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 27.10.2009, 18:55   #3
nick23
 
Регистрация: 26.10.2009
Сообщений: 4
По умолчанию

хотелось бы конечно увидеть другой вариант этой программы, может не в том направлении стал мыслить, ну и по возможности объяснить, где я наляпал ошибки.
Заранее огромное спасибо

Выявил ошибку, размерность массива не задал
Код:
char ch;
int k,i,j;
int str[50], str_full(225), sybmol[10];
помогите, объясните где-что не так я написал

Последний раз редактировалось Stilet; 29.10.2009 в 07:41.
nick23 вне форума Ответить с цитированием
Старый 29.10.2009, 07:21   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Начнем с этого
Код:
char ch, str; 
int k,i,j;
/*перебираем строку, до тех пора пока не появится пробел(т.е. получаем первое слово)*/ 
while((ch=getchar( )) != ' ') { 
str[] = ch;
}
Давйте заменим на

Код:
 char ch, str1[50];
int k,i=0,j;
/*Вводим строку,  т.е пока не появится переход на новую '\n')*/ 
while((ch=getchar( )) != '\n ') { 
str1[i] = ch;
i++;
}
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 29.10.2009 в 13:17.
Sweta вне форума Ответить с цитированием
Старый 29.10.2009, 13:17   #5
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

C или С++?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 29.10.2009, 17:30   #6
nick23
 
Регистрация: 26.10.2009
Сообщений: 4
По умолчанию

язык программирования С
nick23 вне форума Ответить с цитированием
Старый 29.10.2009, 18:05   #7
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Пока что это.
Код:
#include <stdio.h>
#include <conio.h>
main(){
char ch, str[250],str1[25];
int k,i,j,l,n,imin;
/*Вводим строку строку, до тех пора пока не появится конец строки*/
i=1;
while((ch=getchar( )) != '\n')
{
str[i]= ch;
i++;
}
k=i;
/*Выделяем первое слово*/
for(i=1; i<k-1; i++)
  {
   if(str[i]==' ')
   break;
   str1[i-1]=str[i];
   }
l=i-1; //Длина первого слова
/*Перебираем символы в слове*/


getch();
}
Только с кириллицей плохо.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 01.11.2009, 14:47   #8
nick23
 
Регистрация: 26.10.2009
Сообщений: 4
По умолчанию

Sweta, спасибо за отзывчивость, буду очень благодарен, если докончите свой вариант программы, хоть будет с чем сравнить свою программу и понять свои синтаксические и алгоритмические ошибки, чтобы в дальнейшем они не случались
nick23 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в тексте удалить слова начинающиеся с заданой буквы Ananim-Pbl6ak Паскаль, Turbo Pascal, PascalABC.NET 9 26.05.2009 16:39
Си. Вычеркнуть из слова X те буквы, которые встречаются в слове Z. hen Помощь студентам 1 29.04.2009 15:32
Удалить из второй строки те слова, которые есть в первой строке innaa639 Паскаль, Turbo Pascal, PascalABC.NET 2 26.11.2008 15:43
В введенном предложении удалить все повторяющиеся слова Алена Помощь студентам 5 21.11.2007 14:12