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

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

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

 
 Ответить  Открыть новую тему 
> задача, N1 и N2...
Илья S.
сообщение 18.12.2006 16:47
Сообщение #1


Новичок
*

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

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


Кто нибудь помогите, скоро зачет . Напишите пожалуйста алгоритм решения следующих задач:

1)Вводятся 2 целых числа N1 и N2.Из текстового файла считываются все символы, на экран выводяться те
из них, чье количество лежит между N1 и N2.

Погите пожалуйста. Буду очень благодарен

Я сделал как вы посоветовали
И вот что получилось:

type ar256 = array [0..255] of word;

var
ar:ar256;
i,n1,n2:word;
fname:string;

procedure schet(var arr:ar256; fname:string);
var f:text; rc:char;
begin
assign(f,fname);
reset(f);
while not eof(f) do
begin
read(f,rc);
arr[ord(rc)]:=arr[ord(rc)]+1;
end;
end;

BEGIN
write('Type the name of file: ');
readln(fname);
write('Two numbers: ');
if n1>n2 then
begin
n1:=n1+n2;
n2:=n1-n2;
n1:=n1-n2;
end;
readln(n1,n2);
writeln('In file ',fname,' count of this symbols N: ',n1,'<N<',n2);
schet(ar,fname);
for i:=0 to 255 do
if (ar[i]>n1) and (ar[i]<n2) then write(chr(i),' ');
readln;
END.


Но есть проблема в том что программа не работает
Напишите пожалуйста Алгоритм правильный, чтобы заработала.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2006 17:48
Сообщение #2


Гость






Что именно тебе не понравилось в работе программы? Все прекрасно показывает...
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 18.12.2006 18:24
Сообщение #3


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата(volvo @ 18.12.2006 17:48) *

Что именно тебе не понравилось в работе программы? Все прекрасно показывает...

введи числа 7 и 1.

Илья S., во-первых, пользуйся тэгами.
во вторых, посмотри на этот фрагмент:
write('Two numbers: ');
if n1>n2 then
begin
n1:=n1+n2;
n2:=n1-n2;
n1:=n1-n2;
end;
readln(n1,n2);

ты СНАЧАЛА сравниваешь числа, а потом их вводишь.
поставь readln перед условием.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2006 18:30
Сообщение #4


Гость






Ха... Но ведь проблема не в алгоритме... Автор просто уверен, что сам алгоритм не работает...

А уж то, что он не пользуется буферной переменной или неправильно вводит данные - это особенности реализации, я их не проверял...
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 18.12.2006 19:06
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


как он обменивает значения - это не важно.
а вот перепутанные местами операторы - это ведь ошибка в алгоритме (неправильный порядок действий). другой вопрос, что эту ошибку туда приделал сам Илья S., а обвиняет тех, кто посоветовал, как делать основу...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Илья S.
сообщение 19.12.2006 9:31
Сообщение #6


Новичок
*

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

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


Цитата(мисс_граффити @ 18.12.2006 19:06) *

как он обменивает значения - это не важно.
а вот перепутанные местами операторы - это ведь ошибка в алгоритме (неправильный порядок действий). другой вопрос, что эту ошибку туда приделал сам Илья S., а обвиняет тех, кто посоветовал, как делать основу...

Я не кого не обвиняю.Но если что-то не так,простите.

Спасибо вам большое. Вроде все получается, Только в самом конце гден End. он выводит ошибку№85 blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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