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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прошу помощи!!! 
:(
    Опции темы
QuaoaR
Дата 15.12.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



народ, кто шарит в C, помогите, подкинте инфу по строковым переменным, синтаксис функций getchar, putchar, getc...вобщем всё в этом роде!!! пожалуста помогите! зарание спасибо!
...помогите решить задачу: дан текстовый файл, надо узнать максимальное количество подряд идущих пробелов в тексте файла! пожалуста....

Это сообщение отредактировал(а) QuaoaR - 15.12.2004, 19:11
PM MAIL   Вверх
LuckLess
Дата 15.12.2004, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата
Get a character from the console without echo (_getch, _getchw) or with echo (_getche, _getwche).
int _getch( void );
wint_t _getwch( void );
int _getche( void );
wint_t _getwche( void );

Write a character to a stream (putc, putwc) or to stdout (putchar, putwchar).
int putc(
  int c,
  FILE *stream
);
wint_t putwc(
  wchar_t c,
  FILE *stream
);
int putchar(
  int c
);
wint_t putwchar(
  wchar_t c
);

В вооще тебе поможет функция

Цитата

strstr, wcsstr
Find a substring.
char *strstr( const char *string, const char *strCharSet );
wchar_t *wcsstr( const wchar_t *string, const wchar_t *strCharSet );
Each of these functions returns a pointer to the first occurrence of strCharSet in string, or NULL if strCharSet does not appear in string. If strCharSet points to a string of zero length, the function returns string.

PM MAIL   Вверх
sergejzr
Дата 15.12.2004, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



QuaoaR Пожалуйста в следующий раз называйте тему по её сути. Это правило форума специально выписано красным шрифтом при создании новой темы!

LuckLess, Пользуйтесь пожалуйста тэгами "Код". smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
QuaoaR
Дата 15.12.2004, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(LuckLess @ 15.12.2004, 19:17)
Цитата
Get a character from the console without echo (_getch, _getchw) or with echo (_getche, _getwche).
int _getch( void );
wint_t _getwch( void );
int _getche( void );
wint_t _getwche( void );

Write a character to a stream (putc, putwc) or to stdout (putchar, putwchar).
int putc(
   int c,
   FILE *stream
);
wint_t putwc(
   wchar_t c,
   FILE *stream
);
int putchar(
   int c
);
wint_t putwchar(
   wchar_t c
);

В вооще тебе поможет функция

Цитата

strstr, wcsstr
Find a substring.
char *strstr( const char *string, const char *strCharSet );
wchar_t *wcsstr( const wchar_t *string, const wchar_t *strCharSet );
Each of these functions returns a pointer to the first occurrence of strCharSet in string, or NULL if strCharSet does not appear in string. If strCharSet points to a string of zero length, the function returns string.

вы меня конечно извенити, но из того что вы написали мало что понятно! только отдельные слова...а всё вместе это ужас! нельзя ли попонятней!?
PM MAIL   Вверх
LuckLess
Дата 15.12.2004, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



QuaoaR
Цитата(QuaoaR @ 15.12.2004, 19:55)
вы меня конечно извенити, но из того что вы написали мало что понятно! только отдельные слова...а всё вместе это ужас!

Я плакаль! smile smile

Вобщем.
Цитата(QuaoaR @ 15.12.2004, 19:09)
помогите решить задачу: дан текстовый файл, надо узнать максимальное количество подряд идущих пробелов в тексте файла!

Не пойму зачем тебе getchar , putchar . Тебе нужно воспользоваться , например функцией
fscanf.
Код

int fscanf(
  FILE *stream,
  const char *format [,
  argument ]...


принимает 3 параметра , если не пользовались никогда scanf-о подобными функциями , то второй параметр
должен быть "%s" , а третий указатель на массив char-ов(или другой массив , по желанию).
FILE *stream можно получить при помощи функции
Код

FILE *fopen( const char *filename, const char *mode );

где собстно 1-ый параметр указатель на массив чаров содержащий имя фаила , а второй укажите "r+" .

После прочтения файла в массив чаров легко воспользоваться функцией
Код

char *strstr( const char *string, const char *strCharSet );

которая в массиве чаров находит подстроку.
1-ый параметр - указатель на массив чаров в котором ты хочешь искать.
2-ой параметр - та подстрока которую ты хочешь искать .

Предлагаю такой алгоритм.
читаешь файл в массив .
А потом динамически создаешь сначала строку состоящую из одного пробела , и ищеш ее в считанном массиве. Если найдешь , то увеличиваешь количество пробелов и ищиш опять. И так пока strstr не вернет
NULL , что означает , что такую строку он не нашол. И на основании этого делаешь вывод о том





Цитата(QuaoaR @ 15.12.2004, 19:09)
надо узнать максимальное количество подряд идущих пробелов в тексте файла


PM MAIL   Вверх
Hroft
Дата 18.12.2004, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Зачем так сложно? Прочитать файл, пробежать его, в случае встречи пробела начать увеличивать счетчик, сохранить его по окончании серии пробелов, дойти до другой серии пробелов, посчитать их, сравнить с сохраненным значением, сохранить максимальное из них, и так до конца. Всего один проход.
PM MAIL ICQ   Вверх
Hroft
Дата 18.12.2004, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код
#include <iostream>

int main()
{
char f_arr[] = {"asf  sd wrfg   erwg erg"};
int filelength = sizeof(f_arr);
int count = 0;
int c = 0;
int i=0;
while (i<filelength) {
 if (f_arr[i] == ' ') {
  while (i<filelength && f_arr[i] == ' ') {
   ++c;
   ++i;
  }
  if (c > count) {
   count = c;
  }
  c = 0;
 }
 ++i;
}
 std::cout<<count;
 return 0;
}

Тут без файла, только алгоритм. Вроде бачит.
PM MAIL ICQ   Вверх
Doc_d0s
Дата 18.12.2004, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

Не пойму зачем тебе getchar , putchar . Тебе нужно воспользоваться , например функцией
fscanf.

а ведь Fscanf читает токо до пробела или ещё чего, он пробел не читает!!! smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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