0 / 0 / 0
Регистрация: 17.06.2017
Сообщений: 1
1

Если элемент массива четный, то прибавить к нему первый элемент, а если нечетный - последний.

17.06.2017, 17:49. Показов 3088. Ответов 50
Метки нет (Все метки)

Если значение элемента массива четно, то прибавить к нему первый элемент массива, а если нечетно - последний элемент массива. Первый и последний элементы не изменять.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2017, 17:49
Ответы с готовыми решениями:

Если элемент массива четный — прибавить к нему первый, если нечетный — последний элемент
здравствуйте еще раз)) Спасибо за то что помогли с прошлой задачей огромной)) можно еще одну)...

Если очередной элемент массива чётный, то прибавь к нему первый, если нечётный — прибавить последний
Дан одномерный массив состоящий из n элементов. Если очередной элемент чётный, то прибавь к нему...

Если элемент массива четный, то прибавить к нему первый элемент массива, если нечетный - то последний. В чем ошибка?
Помогите решить: Если элемент массива четный, то прибавить к нему первый элемент массива, если...

Для двумерного массива. Если элемент четный, то прибавить к нему первый, если нечетный — последний элементы массива
Для двумерного массива. Если элемент четный, то прибавить к нему первый, если нечетный — последний...

50
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 18:20 2
N - размер массива
Pascal
1
2
3
4
for i:= 2 to n - 1 do
if a[i] mod 2 = 0
then a[i]+= a[1]
else a[i]+= a[n];
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 18:30 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
const
  n = 10;
 
var
  a: array [0..n] of integer;
 
begin
  for var i := 0 to n do Readln(a[i]);
  for var i := 1 to n - 1 do
    if a[i] mod 2 = 0 then Inc(a[i], a[0]) else Inc(a[i], a[n]);
end.
Добавлено через 40 секунд
Удобно использовать константу. Изменил ее и весь код начал работать по другому.
0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 18:32 4
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
по другому
И как же?
0
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
17.06.2017, 18:35 5
Pascal
1
2
3
4
5
begin
  var a := ArrRandom(ReadlnInteger('Длина:'), -50, 50); a.Println;
  a := a.Select((v, i) -> (i = 0) or (i = a.Length - 1) ? v : v mod 2 = 0 ? v + a.First : v + a.Last).ToArray;
  a.Println;
end.
Добавлено через 2 минуты
Volobuev Ilya, в PABC.Net очень легко работать с динамическими массивами, так что длину можно задавать в программе
1
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 18:39 6
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
И как же?
Изменяя константу ты будешь контролировать сразу все циклы и тебе не придется писать такой ужас:
Pascal
1
2
3
4
5
6
7
8
var
  a: array [0..10] of integer;
 
begin
  for var i := 0 to 10 do Readln(a[i]);
  for var i := 1 to 9 do
    if a[i] mod 2 = 0 then Inc(a[i], a[0]) else Inc(a[i], a[n]);
end.
Добавлено через 52 секунды
Это маленькая программа, тут не не так уж и сильно влияет использование константы. Но в сложных программах константы сыграют роль.

Добавлено через 36 секунд
Volobuev Ilya, в PABC.Net очень легко работать с динамическими массивами, так что длину можно задавать в программе
Я понимаю, но я старался сделать код проще. Без встроенных функций.
0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 18:45 7
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
влияет использование константы
Спора нет
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Без встроенных функций
Inc - не встроенная функция?))

Добавлено через 1 минуту
Это явно школьная программа. Поэтому я и писал без этих динамических массивов и т.д. - этого и в помине нет в школе...
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 18:52 8
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
Inc - не встроенная функция?))
Наверно имеется ввиду без банальных встроенных функций, которые проходятся везде.
Без встроенных функций.
Уточню. Без встроенных функций, которые не везде проходятся.
0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 18:53 9
Volobuev Ilya, поверьте, даже inc в школе не проходится)))
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 18:54 10
Inc(a, b)
Увеличит a на значение b. Это я автору темы.

Добавлено через 44 секунды
Volobuev Ilya, поверьте, даже inc в школе не проходится)))
Хм, но нас учили и Inc -у.
0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 18:55 11
Ех.. Боюсь,бесполезно..
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 18:57 12
Причина такого заявления?

Добавлено через 1 минуту
Pascal
1
2
3
4
5
6
7
8
var
  a: array [0..10] of integer;
 
begin
  for var i := 0 to 10 do Readln(a[i]);
  for var i := 1 to 9 do
    if a[i] mod 2 = 0 then Inc(a[i], a[0]) else Inc(a[i], a[n]);
end.
Вот код. Пожалуйста, обоснуйте основываясь на этом коде. Так сказать, чтобы были явные доказательства.
0
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
17.06.2017, 19:17 13
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
Inc - не встроенная функция?))
ilya имел ввиду Dotnetовские "причендасы" в роле "встроенных функций" . Ink прописана в Pabcsystem , можно и его отнести к встроенным , но тогда Write & Read также считать оными.

Добавлено через 9 минут
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Inc(a[i], a[n]);
end.
А вообще Inc бесполезная процедура - просто метод , созданный скорее для создания какого-то стиля PascalAbc.Net (Dec Inc Xor or - в этой линейке). Даже += - короче и понятней.
Pascal
1
2
3
Value+=a;//9 символов
Inc(Value,a);//13 символов
Inc(Value);//10 символов , предполагая что a = 1
0
Соколиный глаз
17.06.2017, 19:19
  #14

Не по теме:

Не думаю, что на 4 символа больше - смертельная цифра.

0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 19:19 15
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Причина такого заявления?
Я о том,что бесполезно об этом писать ТС. К сожалению, в подавляющем большинстве тупо списывают то,что дают здесь...
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 19:21 16
Я о том,что бесполезно об этом писать ТС. К сожалению, в подавляющем большинстве тупо списывают то,что дают здесь...

Не по теме:

Хм, наверное. Я сторонник осознанного написания кода, впрочем, как вижу и Вы тоже.

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32488 / 20974 / 8115
Регистрация: 22.10.2011
Сообщений: 36,243
Записей в блоге: 7
17.06.2017, 19:22 17
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
К сожалению, в подавляющем большинстве тупо списывают то,что дают здесь...
А ты не ориентируйся на них. Ориентируйся на тех, кто хочет узнать что-то новое.
2
Соколиный глаз
17.06.2017, 19:23
  #18

Не по теме:

Хорошая мысль

0
128 / 126 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 19:23 19
Volobuev Ilya, вот примерно так пишут у Нас... Вот это действительно ужасно)))
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
a: array [1..10] of integer;
i, b, c: integer;
begin
b := a[1];
c := a[10];
for i := 1 to 10 do 
Readln(a[i]);
for i := 1 to 10 do
if a[i] mod 2 = 0 then a[i] := a[i] + b else a[i] := a[i] + c;
end.
0
Alvin Seville
337 / 269 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.06.2017, 19:25 20
Volobuev Ilya, вот примерно так пишут у Нас... Вот это действительно ужасно)))

Не по теме:

От такого кода воротит. И самое первое, что хочется сказать - научитесь оформлять код. Хотя, и писать его тоже им пора бы уметь.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2017, 19:25
Помогаю со студенческими работами здесь

Если элемент массива четный, то прибавить к нему первый, если нечетный - последний элементы массива
Написать программу изменения элементов массива. Если элемент четный, то прибавить к нему первый,...

В одномерном массиве, если первый элемент положительный, то поменять местами с последним, иначе прибавить к нему третий элемент
Такое дело..помочь надо с парой задач..зачет получить, поможИте :) ____________________ В...

Если индекс элемента массива четный, то элемент возвести в квадрат, если нечетный – удвоить
Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке . Сформировать...

Поменять местами первый максимальный четный элемент массива и первый минимальный нечетный элемент
Помогите начало знаю как сделать а дальше нет #include<iostream> #include <stdlib.h> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru