Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Инвертировать каждое четное значение

Автор: kleopatrik 26.12.2004 20:40

Инвертировать каждое четное значение одномерной матрицы.
Во первых, что это такое?( имею ввиду чего от меня хотят))) :D
Буду очень благодарна за помощь, особенно если кто нить подскажет как еще и написать такую програмку)

Автор: Amro 26.12.2004 23:15

Инвертировать -- значит поменять на противоположное, в данном случае сменить знак .... (ищешь чётное число и умножаешь его на -1, и изменяешь значение в матрице)

Автор: klem4 27.12.2004 0:48

ЗЫ одномерная матрица это одномерный массив ? blink.gif :D если да, то :low:

ЗЫЫ тут полная инверсия одномерного массива, не дочитал условие.

Код
uses crt;
const n=5;
var x:array[1..n] of integer;
   i,p:integer;
Begin
  clrscr;
  randomize;
  for i:=1 to n do
   begin
      x[i]:=random(11)-random(6);
      write(x[i]:2);
      write(' ');
   end;
   for i:=1 to n div 2 do
    begin
       p:=x[i];
       x[i]:=x[n-i+1];
       x[n-i+1]:=p;
    end;
    writeln;
    for i:=1 to n do
     begin
        write(x[i]:2);
        write(' ');
     end;
     readln;
     end.

Автор: klem4 27.12.2004 0:51

Armo , имхо ты не прав, инверсия :
12345 -> 54321

Автор: klem4 27.12.2004 0:54

Не не могу понять условие(( поменять элементы с четными номерами или те, значения которых четные ? на примере можешь показать из 12345 чо получится ?

Автор: volvo 27.12.2004 0:56

klem4
Внимательно читаем задание :low:

Код
const
 n = 5;
 x: array[1 .. n] of integer =
    (2, 5, 4, 1, 7);
var
 i: integer;
begin
 for i:=1 to n do
   if not odd(x[i]) then
     x[i] := -x[i];
 writeln;

 for i:=1 to n do
   write(x[i]:3);
 writeln;
end.

Автор: klem4 27.12.2004 1:01

Хорошо :D