IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> робота с файлом, проверить что первыє два симвалы єсть цыфрами
Дудинець
сообщение 29.05.2009 15:32
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


"В даном текстовом файле узнать єсть ли первыє два симвала цыфрами. Єсли да то узнать являитса ли даноє число ( получаєтса из 1 и 2 цифри файла) парным."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 18)
Дудинець
сообщение 29.05.2009 20:55
Сообщение #2





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


пробывал ну написал процедури для ввода в файл и вывода содержимово на екран а сама процедура проверки ? не могу додумать вот што написал
Procedure obrobka;
begin
reset(f);
while not eof(f) do
begin
readln(f,s);
if s:=real then writeln ('cimvol chislo');
end;end.
но ето только штоб написало што ети симвалы цифры а как проверить што их число парноє? помогите кому не лень надо очень , причом быстро доделать ето !

Сообщение отредактировано: Lapp - 30.05.2009 2:38
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sheka
сообщение 29.05.2009 21:52
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


{спочатку іде відкривання файлу}
assign(f,in');
reset(f);
{потім считування із файлу(тобі треба тільки перші 2 символи)}
read(f,c);
if c in["0".."9"] then begin
read(f,c);
if c in["0".."9"] then if chartoint© mod 2 = 0 then writeln('Парне') else writeln('Непарне')
else writeln('2 не цифра);
end;
else writeln('1 не цифра);
end;
{закрити файл}
close(f);


вибач звісно, але, будь ласка, краще використовуй це. yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 30.05.2009 6:41
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(sheka @ 29.05.2009 22:52) *
вибач звісно, але, будь ласка, краще використовуй це.
sheka, если автор все же старается говорить по-русски, то почему бы и тебе не попробовать? Или хотя бы переводи..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sheka
сообщение 30.05.2009 19:36
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(Lapp @ 30.05.2009 6:41) *

автор все же старается говорить по-русски, почему бы и тебе не попробовать?

ну я вообще-то стараюсь...
p.s. я просто чуть со смеху не упал пока читал.mega_chok.gif
а мое понять я думаю не тяжело, тем более тебе!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 2.06.2009 21:46
Сообщение #6





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


дякую за допомогу писав тупо) просто хтiв щоб швидше вiдповили.
але програма не працює "_ 5 помилку сунтаксесу видає чому . Вводив " як шiфт + Є , що це взагалi in["0".."9"] значить до цього з цим не мав справи, сенс проги зрозумiлий нiби просто а не працює?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 3.06.2009 6:47
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Дудинець
Я не очень хорошо понимаю по-украински, переведи, пожалуйста. В чем проблема?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 3.06.2009 7:16
Сообщение #8





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


Цитата(Ozzя @ 3.06.2009 6:47) *

Дудинець
Я не очень хорошо понимаю по-украински, переведи, пожалуйста. В чем проблема?
видає помилку
Error 5: Suntax error
при запуску _"_
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 3.06.2009 8:15
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Где? blink.gif

тут что ли ?
assign(f,in');

Исправь на
assign(f,'in');

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 3.06.2009 17:30
Сообщение #10





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


Цитата(Ozzя @ 3.06.2009 8:15) *

Где? blink.gif

тут что ли ?
assign(f,in');

Исправь на
assign(f,'in');


причому assing(f,'in') в мене assing (f,'fail.txt') .
помилку в цьому показує in["0".."9"]!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 3.06.2009 18:12
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


А потому что у тебя кавычки не те,чар заключается в 'f' - например, а у тебя "f" чуеш разницу?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 4.06.2009 7:32
Сообщение #12





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


[quote name='sheka' date='29.05.2009 21:52' post='134019']
 assign(f,in');
reset(f);
read(f,c);
if c in["0".."9"] then begin
read(f,c);
if c in["0".."9"] then if chartoint© mod 2 = 0 then writeln('Парне') else writeln('Непарне')
else writeln('2 не цифра);
end;
else writeln('1 не цифра);
end;
close(f);

всеодно ця програма в мене працює тiльки з типом даних char а менi потрiбно string при якому помилка tupe mismach доходячи до першої умови then...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 4.06.2009 7:58
Сообщение #13


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


assign(f,'fail.txt');
reset(f);
readln(f,s);
if (s[1] in ['0'..'9']) and (s[2] in ['0'..'9']) then {цифры}
begin
{что такое парнэ/непарнэ}
end;
close(f);



Сообщение отредактировано: Ozzя - 4.06.2009 10:01
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 4.06.2009 13:13
Сообщение #14


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Четное/нечетное что ли?
s:=s[1]+s[2];
str(num,s);
if not odd(num) then
writeln('Четное')
else
writeln('Нечетное');



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 4.06.2009 14:52
Сообщение #15





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


дякую Оzzя прога працює так як ви написали але хоч в файлi першi два символи цифри хоч не цифри пише "1 2 не цифри" дивно?
так само чи перши два цифри чи нi пише що парне (четне)? ниби файл не читає взагали ну це так...
цю прогу тре захистити i до неї 2 питання
1)що означає in['0'..'9'] поняв що масив усiх чисел але real or integer? 2)str (num,s) ; if not odd(num) then четне str(num,s) це функцiя якась в паскалi , а odd(num) це умова на парнiсть числа num яке видала функцiя str?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 4.06.2009 15:09
Сообщение #16


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
що означає in['0'..'9']

Это означает, что мы проверяем, не входит ли символ во множество символов от 0 до 9
odd(num) выдает, что число нечетное
str(num,s) из строки выдает число, например, строка '12' будет переведена в число 12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sheka
сообщение 4.06.2009 15:09
Сообщение #17


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата
поняв
вже те, що ти це ЗРОЗУМІВ це хАрАшО.

можливо, що 1й сивол цифра, а 2й пробіл, а 3й цифра. тому і пише "не цифри".

що означає
Цитата
так само чи перши два цифри чи нi пише що парне?
висловлюй думку так, щоб тебе міг хоч хтось ЗРОЗУМІВ.
1. ['0'..'9'] це взагалі множина.
2. str (num,s) перетворює num:integer в s:string.
так, якщо непарне то odd(7)=true.

якщо хочеш хоч щось вивчити, можу тобі скинути підручник українською мовою, там все це ЗРОЗУМІЛО пояснюється. якщо тобі це треба - скинь мило.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дудинець
сообщение 4.06.2009 17:10
Сообщение #18





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Андрiй

Репутация: -  0  +


можна сюди bobi56@bk.ru .
щодо проги ви правi там були пропуски тому й писало не цифри.
а щодо парностi непарностi постiйно пише парно дивився поступово що набуває s i num
прописуючи writeln
s:=s[1]+s[2] набуває значення усього що записанов файл i цифри i букви!
str(num,s) вiдповiдно дорiвнює 0. Отже помилка тут s:s[1]+ s[2], воно повинно складатися з 1 i 2 символiв. а не з усього файлу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 5.06.2009 7:17
Сообщение #19


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
str(num,s);
blink.gif
Обманул слегка sad.gif
Нужен val, чтобы перевести строку в число
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 13:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"