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

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

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

 
 Ответить  Открыть новую тему 
> Числовая последовательность, не получается
сообщение
Сообщение #1


Гость






Задача такая - определить, являются ли введённые числа возрастающей последовательностью?
Вот так я это сделал:
Код

program posled;
uses crt;
var a:string;
    i,j,k:integer;
    b:byte;
    begin
    clrscr;
    writeln('BBEDITE CTPOKY:');
    readln (a);
    j:=length (a);
    for i:=1 to j do
     begin
     if a[i]<a[i+1] then b:=1
     end;

     if b=1 then
     writeln ('DA') else writeln ('HET');
         readln;
     end.


Но не понимаю в чём ошибка - программа работает некорректно... Помогите плиз разобраться..
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


Зачем у тебя там строка ? И кстате я так думаю ты хотела использовать массив, ты уверена что он тут нужен ? можно и без него ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






А зачем же там массив использовать?... тем более я его там и не наблюдаю..) мне кажется со строкой там удобнее (можно длину определить) а в массиве так можно разве?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


Тут либо надо искать противоречие:
Код
  b:=1; {предположение}
    for i:=1 to j-1 do {j-1!!!!}
     begin
       if a[i]>=a[i+1] then b:=0 {противоречие}
     end;


Либо
считать количетсво правильно расположенных пар
и если количество = j-1, то вся последовательность упорядочена
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

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

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


могу предложить такой вариант :

uses crt;
var
_pred,_succ,n,i : integer;
check : boolean;
begin

write('n = '); readln(n);

writeln('Введите последовательность');

i := 1; check := true;

readln(_pred);

while (i < n) and check do begin
readln(_succ);
check := (_pred < _succ);
_pred := _succ;
inc(i);
end;

writeln(check);

readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

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

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


klem4, последовательность до конца не будет введена...
из файла было бы не страшно, а с клавы...


Хотя у Lauri скорее цифры сравниваются, чем числа...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

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

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


Можно сделать чтобы и до конца, какой только сысл ... представь сколько ты сэкономишь времени если у тебя в файле 100000 элементов а условие возрастания нарушается при первой проврке rolleyes.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

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

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


Я и говорю, что если бы был файл, то все ok,
а у нее с клавы...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Perl. Just code it!
******

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

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


Ну и что ошибки то нету никакой, я имею в виду рпограмма завернаештся корректно .. можно убрать
and check
и все будет ок ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

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

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


Есть такой выход
вместо readln поставить read в твоем варианте
и просить вввести все числа в одну строуку через пробел
тогда будет не заметно, что ты пользователя прервал на полуслове

Цитата(klem4 @ 15.01.2006 14:53) *

Ну и что ошибки то нету никакой, я имею в виду рпограмма завернаештся корректно .. можно убрать
and check
и все будет ок ...


если убрать
and checK
будет ошибка

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Perl. Just code it!
******

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

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


Точно, тогда можно сдеать вот так :

while (i < n)  do begin
readln(_succ);
if check then check := (_pred < _succ);
_pred := _succ;
inc(i);
end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Pola, я не понял, ты умеешь только чужие решения критиковать? Свои шедевры ты считаешь зазорным выложить на форуме? dry.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

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

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


volvo, зачем за других делать?
вот ошибку можно помочь найти

учаться на своих ошибках...
а у меня способности искать ошибки. smile.gif

У меня тоже есть такие способности - искать ошибки, так почему ты мне эти способности не даешь проявить на твоих программах? blum.gif Нехорошо...

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


Гость






Да это не выход, даже если read и через пробел, то всё равно некорректно... буду как-нибудь другим способом, благо способов сортировки предостаточно..) всё равно спасибо за помощь;)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

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

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


volvo, а уменя пока по своим вопросов к тебе нет tong2.gif

а коды я давала... про стороны треугольника посмотри
и исправляй сколько хошь yes2.gif

Цитата(Lauri @ 15.01.2006 16:09) *

Да это не выход, даже если read и через пробел, то всё равно некорректно... буду как-нибудь другим способом, благо способов сортировки предостаточно..) всё равно спасибо за помощь;)


read и через пробел в проге klem4, а не в твоей

или цикл while в его же проге замени на последний им данный вариант (4 поста выше)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Perl. Just code it!
******

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

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


Чем не понравился вот этот вариант ? Это какраз ТО что тебе нужно, не используется массив и последовательность вводится ПОЛНОСТЬЮ

http://forum.pascal.net.ru/index.php?s=&sh...indpost&p=59065 - пост N11

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 2.05.2024 23:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name