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

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

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

 
 Ответить  Открыть новую тему 
> Оператор цикла while
сообщение
Сообщение #1


Пионер
**

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

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


Привет друзья, помогите пожалуйсто решить вот такую задачю через цикл while:

Даны целые числа a,n,x(с индексом 1),.......,x(с индексом n) (n>0). Определить каким по счёту в последовательности x(с индексом 1),......,x член равный a. Если такого члена нет, то ответом должно быть число 0.

Вот я тут попытался её решить, но она работает неправильно:

program vail;
var x,s,n,i:integer;
begin
writeln('vvedite kolichestvo chisel');
readln(n);
s:=0;
i:=0;
writeln('vvedite x');
readln(x);
while i<=n do
begin
i:=i+1;
begin
if x<2 then
x:=0;
end;
s:=s+x;
end;
writeln('symma ravna ',s);
end.


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


Гуру
*****

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

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


Ничего ты НЕ пытался решать. Подсунул задачу по вычислению суммы членов последовательности. Или это юмор такой?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


Серьёзно для меня эта задача сложная поэтому я прошу у вас помощи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

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

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


Ну и что? Помощь подразумевает некое твое участие в процессе. А ты подсовываешь какую-то левую программу, выдавая ее за свою якобы написанную.
Вот когда хотя бы переменные, участвующие в твоей программе, правильно опишешь, тогда и жди какой-то помощи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

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

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


А ты можеш хотябы нормальным понятным языком объяснить условие задачи? если тя канешно незатруднит
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

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

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


Вообще-то объяснить нормальным понятным языком условие задачи - обязанность того, кто создает тему.
Ибо кроме него об этой задаче никто ничего не знает (кроме телепатов).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

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

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


Вот поглядите решил, но он прекращает ввод чисел как только ты вводиш значение равное a, как тут исправить чтобы сначало вводить все числа в ряду, а потом уже после нажатия alt+F5 он выдавал каким по счёту число равное а в ряду расположено, иначе выводил 0

program vail;
var a,n,i,x:integer;
begin
writeln('vvedite chislo a');
readln(a);
writeln('vvedite kolichestvo chisel v ryady');
readln(n);
while a<>x do
begin
i:=0;
for x:=1 to n do
i:=i+1;
writeln('vvedite chisla ryada');
readln(x);
end;
if a=x then writeln('chislo v ryady po schety ',i) else writeln('0')
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


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

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

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


Так пойдет?
Без alt+f5, правда... зачем здесь это сочетание - не поняла.
var a,n,x,i,num: integer;

begin
writeln('n=?');
readln(n);
writeln('a=?');
readln(a);
i:=1;
num:=0;
while i<=n do
begin
writeln('x=?');
readln(x);
if x=a then
num:=i;
inc(i);
end;
writeln;
writeln('number=',num);
readln;
end.


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


Пионер
**

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

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


Ну в твоём варианте решения вводиться только одно число, а необходимо ввести столько чисел, чему равно n, и среди них програма должна выбрать какое по счёту было введёно число равное a, если такого числа необнаружено то ответ 0

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


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

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

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


Цитата
Ну в твоём варианте решения вводиться только одно число

неужели?


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


Пионер
**

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

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


Цитата
неужели?

Всё кароче я в тебя влюбился всё правильно решено, просто у меня ни дискетки ни флэшки нету я на листке напечатал решение и понёс в технарь, а там видимо неправильно перепечатал. А дома потом через копипэст проверил всё правильно.
Вот обработаное решение:
program qweret;
uses crt;
var a,n,i,num: integer;x:real;
begin
clrscr;
writeln('n=?');
readln(n);
writeln('a=?');
readln(a);
i:=1;
num:=0;
while i<=n do
begin
writeln('x=?');
readln(x);
if x=a then
num:=i;
i:=i+1;
end;
writeln('number=',num);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

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

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


хм.. а в чем заключается обработка, если не секрет? в замене inc(i) на i:=i+1 (но это ничего не меняет), или в смене типа x на real? (так по заданию - целое число..) Ааа.. все дело в том что теперь отступов нет и код выглядит более.. эм.. загадочно? smile.gif)

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


Пионер
**

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

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


1) В таком виде у училки непоявиться подозрения что тебе ктото помогал делать задачу и она не начнёт загружать тебя левыми вопросами smile.gif
2)При x:integer не будут вводиться дробные и отрицательные числа, а надо чтоб вводились.
3)
writeln;
writeln('number=',num);
readln;

убрал пустые врайтлн и ридлн, т.к. незнаю зачем они а учитель полюбому спросит.
4) inc(i) заменил на i:=i+1 т.к. такую команду мы ещё непроходили.
5) вставил очистку экрана, т.к. я её во всех задачах которые показываю учителю применяю.

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

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

 





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