2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5  След.
 
 
Сообщение07.12.2007, 16:19 
Аватара пользователя
Можете заменить bool на int, а возвращаемые значения - true на 1, а false на 0. Но это практически одно и то же.

 
 
 
 
Сообщение07.12.2007, 16:30 
Ещё один вопрос. Не подскажете как прочитать идентификаторы из файла, пропуская пробелы :)

 
 
 
 
Сообщение07.12.2007, 16:33 
Аватара пользователя
Читать символ за символом. Если не пробел - переносить в буфер, если пробел - ничего не делать.

 
 
 
 
Сообщение07.12.2007, 16:59 
PAV писал(а):
Читать символ за символом. Если не пробел - переносить в буфер, если пробел - ничего не делать.


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

 
 
 
 
Сообщение07.12.2007, 18:19 
Аватара пользователя
Значит, нужно завести специальную переменную (флаг), которая покажет, первый это пробел или не первый. Когда считываем идентификатор, то флаг сброшен. Когда видим пробел, то проверяем значение этого флага. Если он сброшен, то значит это первый пробел. Обрабатываем эту ситуацию, как должно, затем устанавливаем флаг.

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

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

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

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

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


Это как?

 
 
 
 
Сообщение07.12.2007, 22:46 
Аватара пользователя
Даже не знаю, как ответить. Сначала идет код, делающий одно действие (чтение идентификатора), затем код, делающий другое - пропускающий пробелы.

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

 
 
 
 Re: Помогите решить задачку на Си
Сообщение08.12.2007, 09:38 
Настёна писал(а):
Задана последовательность идентификаторов, разделённых одним или несколькими пробелами, оканчивающаяся запятой сразу за последним идентификатором. Каждый идентификатор содержит не более 20 символов. Длина последовательности не более 35 идентификаторов. Найти и напечатать все идентификаторы, не содержащие цифр.



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

 
 
 
 
Сообщение09.12.2007, 14:01 
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


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

 
 
 
 
Сообщение09.12.2007, 15:05 
Аватара пользователя
Входные данные для работы процедуры. Предполагаю, что vadim55 сначала хочет помочь Вам с написанием содержательной части, которая работает с указателем на строку, а потом приписать вспомогательную интерфейсную часть, которая будет считывать данные из файла. Эта строчка будет использована как пример лишь для отладки содержательной части.

 
 
 
 
Сообщение09.12.2007, 17:23 
Настёна писал(а):
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


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


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

 
 
 
 
Сообщение09.12.2007, 20:53 
Настёна писал(а):
vadim55 писал(а):
char *arr="abcd1 jhg ng,";


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


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

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

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

 
 
 
 
Сообщение09.12.2007, 21:02 
Да. Указатель -это адрес какого-либо объекта

 
 
 
 
Сообщение09.12.2007, 21:05 
char *arr="abcd1 jhg ng,";


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

 
 
 
 
Сообщение09.12.2007, 21:10 
То есть это указатель равный abcd1 jhg ng,?

 
 
 [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group