lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

Накатал тут прогу в паскале 

Спойлер:

constN = 10;vara: array[1..N] of real;i, pol, otr: byte;beginpol := 0;otr := 0;for i := 1 to N do begina := random(10) - 10;

write(a:8:2);

if a < 0 then

otr := otr + 1

else

if a > 0 then

pol := pol + 1;

end;

writeln;

writeln('Положительных: ', pol);

writeln('Отрицательных: ', otr);

for i := 1 to n - 1 do

if (a > 0) and (a <> 0) then

a /= a;

for i := 1 to n do

write(a:8:2);

end.

 

 

Как сделать, чтобы:

1) диапазон был от -10 до 10

2) числа я писал сам, а не прога брала рандомные 

3) при наличии альтернативных решений, особенно отрицательных, прога предусмотрела вывод соответствующих сообщений

p.s. подправил тут ее, ибо не так скопировалась

Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Заливай на pastebin.com

EmbraceTheFire

Пользователь

Регистрация: 08.09.2019

Сообщения: 59

Рейтинг: 6

Нарушения: 100

EmbraceTheFire

Регистрация: 08.09.2019

Сообщения: 59

Рейтинг: 6

Нарушения: 100

lMississippil сказал(а):

Накатал тут прогу в паскале 

Спойлер:

constN = 10;vara: array[1..N] of real;i, pol, otr: byte;beginpol := 0;otr := 0;for i := 1 to N do begina := random(10) - 10;

write(a:8:2);

if a < 0 then

otr := otr + 1

else

if a > 0 then

pol := pol + 1;

end;

writeln;

writeln('Положительных: ', pol);

writeln('Отрицательных: ', otr);

for i := 1 to n - 1 do

if (a > 0) and (a <> 0) then

a /= a;

for i := 1 to n do

write(a:8:2);

end.

 

Как сделать, чтобы:

1) диапазон был от -10 до 10

2) числа я писал сам, а не прога брала рандомные 

3) при наличии альтернативных решений, особенно отрицательных, прога предусмотрела вывод соответствующих сообщений

Нажмите, чтобы раскрыть...

1. У тебя N = 10, а цикл ты запускаешь от 1. Попробуй вместо 1 указать -10

2. Считывай ввод А (где у тебя a = random...)

3 Переформулируй

lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

EmbraceTheFire сказал(а):

1. У тебя N = 10, а цикл ты запускаешь от 1. Попробуй вместо 1 указать -10

2. Считывай ввод А (где у тебя a = random...)

3 Переформулируй

Нажмите, чтобы раскрыть...

Обнови, я там переделал 

EmbraceTheFire

Пользователь

Регистрация: 08.09.2019

Сообщения: 59

Рейтинг: 6

Нарушения: 100

EmbraceTheFire

Регистрация: 08.09.2019

Сообщения: 59

Рейтинг: 6

Нарушения: 100

lMississippil сказал(а):

Обнови, я там переделал 

Нажмите, чтобы раскрыть...

Зачем else указывать в первом if? 

Для чего этот кусок нужен?

Спойлер: "кусок"

for i := 1 to n - 1 do

if (a > 0) and (a <> 0) then

a /= a;

for i := 1 to n do

write(a:8:2);

end.

 

 

lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

EmbraceTheFire сказал(а):

Зачем else указывать в первом if? 

Для чего этот кусок нужен?

Спойлер: "кусок"

for i := 1 to n - 1 do

if (a > 0) and (a <> 0) then

a /= a;

for i := 1 to n do

write(a:8:2);

end.

 

 

Нажмите, чтобы раскрыть...

и чем его заменить? 

white_dog

Пользователь

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

white_dog

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

зачем тебе паскаль?

откуда столько вопросов про паскаль в разделе проги?)

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

img

чел, дай исходное задание

твой код это просто шокконтент

white_dog

Пользователь

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

white_dog

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

VovkaKalibrovka сказал(а):

чел, дай исходное задание

твой код это просто шокконтент

Нажмите, чтобы раскрыть...

а на этом гавне может быть по-другому?

lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

VovkaKalibrovka сказал(а):

чел, дай исходное задание

твой код это просто шокконтент

Нажмите, чтобы раскрыть...

Подсчитать, сколько среди заданных элементов X1, X2, …, Xn отрицательных, и изменить

значение каждого положительного элемента (кроме последнего) путем его деления на значение

последующего члена (если это не ноль).

 

1) Ввод исходных данных выполнить с клавиатуры, не забывая о приглашениях к

вводу.

2) Вывод исходных данных и результатов выполнить на экран вывода консольного

приложения, не забывая о пояснениях.

3) При наличии альтернативных решений, особенно отрицательных,

предусмотреть вывод соответствующих сообщений. Например, «Невозможно

найти среднее значение среди положительных элементов, т.к. таких элементов в

массиве нет».

4) Код решения задачи пока не писать, заменив временно простейшей заглушкой –

прямым присваиванием значения результатам.

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

img
lMississippil сказал(а):

 

1) Ввод исходных данных выполнить с клавиатуры, не забывая о приглашениях к

вводу.

2) Вывод исходных данных и результатов выполнить на экран вывода консольного

приложения, не забывая о пояснениях.

3) При наличии альтернативных решений, особенно отрицательных,

предусмотреть вывод соответствующих сообщений. Например, «Невозможно

найти среднее значение среди положительных элементов, т.к. таких элементов в

массиве нет».

4) Код решения задачи пока не писать, заменив временно простейшей заглушкой –

прямым присваиванием значения результатам.

Нажмите, чтобы раскрыть...

ну так скажем

1) у тебя ввод не с клавиатуры (в твоем коде)

2) ты не используешь массив вообще

 

lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

VovkaKalibrovka сказал(а):

ну так скажем

1) у тебя ввод не с клавиатуры (в твоем коде)

2) ты не используешь массив вообще

 

Нажмите, чтобы раскрыть...

1) я и прошу, чтоб с клавы был 

2) ну и как его заюзать в данной ситуации? 

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 29

Рейтинг: 14

img

begin

pol := 0;

otr := 0;

for i := 1 to N do

begin

a := random(10) - 10;

.....

вот тут вместо строчки "a := random(10) - 10;" пишешь readln(a);

таким образом ты сам вводишь переменную

 

я не понимаю что значит диапазон от -10 до 10, если ты сам вводишь числа

и что значит альтернативные решения? у тебя задача посчитать отрицательные и изменить положительные

UPD: оказалось что a - это твой массив, переписал код

 

lMississippil

Пользователь

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

lMississippil

Регистрация: 22.08.2017

Сообщения: 1705

Рейтинг: 382

VovkaKalibrovka сказал(а):

begin

pol := 0;

otr := 0;

for i := 1 to N do

begin

a := random(10) - 10;

.....

вот тут вместо строчки "a := random(10) - 10;" пишешь readln(a);

таким образом ты сам вводишь переменную

 

я не понимаю что значит диапазон от -10 до 10, если ты сам вводишь числа

и что значит альтернативные решения? у тебя задача посчитать отрицательные и изменить положительные

UPD: оказалось что a - это твой массив, переписал код

 

Нажмите, чтобы раскрыть...
Спойлер: "ну вот он ошибку и выдает "

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

lMississippil сказал(а):

Накатал тут прогу в паскале 

Спойлер:

constN = 10;vara: array[1..N] of real;i, pol, otr: byte;beginpol := 0;otr := 0;for i := 1 to N do begina := random(10) - 10;

write(a:8:2);

if a < 0 then

otr := otr + 1

else

if a > 0 then

pol := pol + 1;

end;

writeln;

writeln('Положительных: ', pol);

writeln('Отрицательных: ', otr);

for i := 1 to n - 1 do

if (a > 0) and (a <> 0) then

a /= a;

for i := 1 to n do

write(a:8:2);

end.

 

 

Как сделать, чтобы:

1) диапазон был от -10 до 10

2) числа я писал сам, а не прога брала рандомные 

3) при наличии альтернативных решений, особенно отрицательных, прога предусмотрела вывод соответствующих сообщений

p.s. подправил тут ее, ибо не так скопировалась

Нажмите, чтобы раскрыть...

перепиши на си

и я подправлю 

Hit Girl

Пользователь

Регистрация: 10.12.2014

Сообщения: 4217

Рейтинг: 2061

Hit Girl

Регистрация: 10.12.2014

Сообщения: 4217

Рейтинг: 2061

k4rj2 сказал(а):

зачем тебе паскаль?

откуда столько вопросов про паскаль в разделе проги?)

Нажмите, чтобы раскрыть...

это форум д2ру, ты чего-то большего ожидал?

white_dog

Пользователь

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

white_dog

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

Hit Girl сказал(а):

это форум д2ру, ты чего-то большего ожидал?

Нажмите, чтобы раскрыть...

А причем тут д2ру к тому, на чем кодят программисты?

GribBomjevik сказал(а):

перепиши на си

и я подправлю 

Нажмите, чтобы раскрыть...

У меня такое впечатление, что тут старперы сидят, не знающие про модерн девелопинг и хотят быть как старые пердуны лет 40-50