Помощь - Поиск - Пользователи - Календарь
Полная версия: Замены в массивах - 1
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
mitz
Нужно решить задачу:
Дан целочисленный массив размера N и преобразовать его, прибавив к чётным числам первый элемент. Первый и последний элементы массива не изменять.
Айра
Что непонятно? что пробовал делать сам? какие мысли есть?
mitz
Непонятно, как этот массив преобразовать, не трогая первого и последнего элементов. blink.gif
renesko1
for i := N1elementa+ 1 to razmerMassiva-1 do
...
klem4
Цитата
for i := N1elementa+ 1 to razmerMassiva-1 do


таким образом ты переберешь в 2 раза больше элементов чем нужно
Xorian
 
var
  a: array [1..100] of integer;
  i, n: integer;
begin
  readln (n);
  readln (a[1]);
  i:=2;
  while i<n do
    begin
      readln (a[i]);
      if a[i] and 1 = 0 then inc (a[i], a[1]);  // подмечу: a[i] and 1 работает намного быстрее, чем a[i] mod 2
      inc (i);
    end;
  if n>1 then readln (a[n]);
end.

volvo
Цитата
подмечу: a[i] and 1 работает намного быстрее, чем a[i] mod 2
Угу, особенно это заметно, когда приходится ожидать выполнения очень медленной операции ввода данных, правда?

Что называется "Лучше день потерять, потом за 5 минут долететь" (С)
mitz
Спасибо за помощь! cool.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.