Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите пожалуйста. Вопрос жизни и смерти. Помогите пожалуйста с программами на С++ 
:(
    Опции темы
Divan92
Дата 28.4.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2011

Репутация: нет
Всего: нет



Помогите пожалуйста добрые люди!.
Помогите написать две програмки.
1)Дана строка символов. Преобразовать ее, заменив в ней каждую из групп стоящих рядом точек одной точкой. (без использования дополнительной строки)
2)Дан текст. Напечатать те слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв.

Добавлено @ 16:08
Первую программу написал но с использованием дополнительной строки, подскажите как можно без неё?

Код
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

  int k=0;
  char *t, s[]=".", string2[]="";
  char str[]="Mama....mila....ramy";                                
main()
  {   
    printf("%s\n",str);     
    t=strtok(str,s);
    strncat(string2,t,strlen(t));
    strcat(string2,".");
    k++;
    while(t!=NULL)
      if((t=strtok(NULL,s))!=0) 
        { 
          if(k!=1)
          {
            *t++;   
            break;
            k=0;
          }                          
          strncat(string2,t,strlen(t)); 
          strcat(string2,".");                    
        }  
    printf("%s\n",string2);      
    system("pause");      
  }



Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 28.4.2011, 16:15
PM MAIL   Вверх
bsa
Дата 28.4.2011, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Divan92 @  28.4.2011,  16:05 Найти цитируемый пост)
Дана строка символов. Преобразовать ее, заменив в ней каждую из групп стоящих рядом точек одной точкой. (без использования дополнительной строки)

делаешь два указателя, оба указывают на начало строки. Читаешь символ по адресу первого указателя и записываешь во второй. Если символ точка, то читаешь из первого, пока не найдешь не точку, затем записываешь опять во второй... И так, пока символ не будет \0.
Цитата(Divan92 @  28.4.2011,  16:05 Найти цитируемый пост)
2)Дан текст. Напечатать те слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв.
С помощью strtok разбиваешь строку на слова, затем проходишь каждое слово от начала до конца проверяя, есть ли в остатке слова такие же символы, как текущий. Если есть, то слово не печатаешь
PM   Вверх
Divan92
Дата 28.4.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2011

Репутация: нет
Всего: нет



Цитата

делаешь два указателя, оба указывают на начало строки. Читаешь символ по адресу первого указателя и записываешь во второй. Если символ точка, то читаешь из первого, пока не найдешь не точку, затем записываешь опять во второй... И так, пока символ не будет \0.



Если не сложно можете показать примерно хоть как? У меня туго с указателями(((
PM MAIL   Вверх
bsa
Дата 28.4.2011, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Код
const char *ps = str;
char *pd = str;
for(; *ps;) {
   if ((*pd++ = *ps++) == '.')
      while(*++ps == '.');
}
*pd = '\0';


Это сообщение отредактировал(а) bsa - 28.4.2011, 16:59
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1220 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.