2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 
Сообщение07.12.2007, 16:19 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Можете заменить bool на int, а возвращаемые значения - true на 1, а false на 0. Но это практически одно и то же.

 Профиль  
                  
 
 
Сообщение07.12.2007, 16:30 


04/12/07
26
Ещё один вопрос. Не подскажете как прочитать идентификаторы из файла, пропуская пробелы :)

 Профиль  
                  
 
 
Сообщение07.12.2007, 16:33 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Читать символ за символом. Если не пробел - переносить в буфер, если пробел - ничего не делать.

 Профиль  
                  
 
 
Сообщение07.12.2007, 16:59 


04/12/07
26
PAV писал(а):
Читать символ за символом. Если не пробел - переносить в буфер, если пробел - ничего не делать.


Но он ведь должен первый пробел считывать, а остальные нет

 Профиль  
                  
 
 
Сообщение07.12.2007, 18:19 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Значит, нужно завести специальную переменную (флаг), которая покажет, первый это пробел или не первый. Когда считываем идентификатор, то флаг сброшен. Когда видим пробел, то проверяем значение этого флага. Если он сброшен, то значит это первый пробел. Обрабатываем эту ситуацию, как должно, затем устанавливаем флаг.

Добавлено спустя 16 секунд:

Это обычная методика.

Добавлено спустя 1 минуту 19 секунд:

А можно разбить процедуру чтения на две части: первая часть читает идентификатор до появления первого пробела, вторая - пропускает все оставшиеся пробелы до появления первого символа, начинающего идентификатор.

 Профиль  
                  
 
 
Сообщение07.12.2007, 18:40 


04/12/07
26
PAV писал(а):
А можно разбить процедуру чтения на две части: первая часть читает идентификатор до появления первого пробела, вторая - пропускает все оставшиеся пробелы до появления первого символа, начинающего идентификатор.


Это как?

 Профиль  
                  
 
 
Сообщение07.12.2007, 22:46 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Даже не знаю, как ответить. Сначала идет код, делающий одно действие (чтение идентификатора), затем код, делающий другое - пропускающий пробелы.

Давайте Вы лучше что-то начнете писать, тогда понятнее будет. А то так сидеть, ничего не делать и спрашивать "это как?" можно до бесконечности.

 Профиль  
                  
 
 Re: Помогите решить задачку на Си
Сообщение08.12.2007, 09:38 


28/09/07
172
Настёна писал(а):
Задана последовательность идентификаторов, разделённых одним или несколькими пробелами, оканчивающаяся запятой сразу за последним идентификатором. Каждый идентификатор содержит не более 20 символов. Длина последовательности не более 35 идентификаторов. Найти и напечатать все идентификаторы, не содержащие цифр.



давайте писать вместе.
я Вам помогу.
возьмем для примера 3 идентификатора разделённых пробелами - один из них содержит
цифру
1.
int main()
{
char *arr="abcd1 jhg ng,";
return 0;
}
здесь что-то не понятно?

 Профиль  
                  
 
 
Сообщение09.12.2007, 14:01 


04/12/07
26
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


Непонятна эта строчка, объясните поподробнее что это и для чего?

 Профиль  
                  
 
 
Сообщение09.12.2007, 15:05 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Входные данные для работы процедуры. Предполагаю, что vadim55 сначала хочет помочь Вам с написанием содержательной части, которая работает с указателем на строку, а потом приписать вспомогательную интерфейсную часть, которая будет считывать данные из файла. Эта строчка будет использована как пример лишь для отладки содержательной части.

 Профиль  
                  
 
 
Сообщение09.12.2007, 17:23 


28/09/07
172
Настёна писал(а):
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


Непонятна эта строчка, объясните поподробнее что это и для чего?


через несколько часов я обязательно Вам помогу.
сейчас просто нет возможности.

 Профиль  
                  
 
 
Сообщение09.12.2007, 20:53 


28/09/07
172
Настёна писал(а):
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


Непонятна эта строчка, объясните поподробнее что это и для чего?


начнем с того что зададим начальные данные.
я написал один из возможных вариантов задать

цитирую задание
"последовательность идентификаторов, разделённых одним или несколькими пробелами, оканчивающаяся запятой сразу за последним идентификатором"

термин указатель Вам что-то говорит?

 Профиль  
                  
 
 
Сообщение09.12.2007, 21:02 


04/12/07
26
Да. Указатель -это адрес какого-либо объекта

 Профиль  
                  
 
 
Сообщение09.12.2007, 21:05 


28/09/07
172
char *arr="abcd1 jhg ng,";


тогда вам понятно что я написал?

 Профиль  
                  
 
 
Сообщение09.12.2007, 21:10 


04/12/07
26
То есть это указатель равный abcd1 jhg ng,?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group