Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите решить задачу на массив
Форум вСалде.ру | Верхняя Салда и Нижняя Салда > Hi - Tech > Скорая компьютерная помощь
Валенсия
Array94. Дан целочисленный массив размера N (> 2). Удалить из массива все элементы с нечетными номерами (1, 3 .....). Условный оператор не использовать.

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

Буду премного благодарна. Пишите в личку, согласна заплатить в пределах разумного
volkov
program Array94;
var
a: array [1..10] of integer;
N,i:integer;
begin
writeln('Введите N (2<=10)');
readln(N);
writeln('Значения массива А');
for i:=1 to n do begin write('a[',i,']=');readln(A[i]); end;
// решение
for i:=1 to (n div 2)+(n mod 2) do
begin
a[i]:=a[i*2-1];
end;
n:=(n div 2)+(n mod 2);
Writeln('Ответ');
Writeln;
Writeln('Размер полученного массива ',n);
Write(' A[]: '); for i:=1 to n do Write(A[i],' ');
end.
volkov
program Array97;
var
a: array [1..10] of integer;
k,N,j,i:integer;
bol:boolean;
begin
writeln('Введите N (N<=10)');
readln(N);
writeln('Значения массива А');
for i:=1 to n do begin write('a[',i,']=');readln(A[i]); end;
// решение
k:=n-1;
for i:=N-1 downto 1 do
begin
bol:=true;
for j:=i+1 to n do
begin
if (a[j]=a[i]) then begin
bol:=false;
end;
end;
if bol then begin
a[k]:=a[i];
dec(k);
end;
end;
k:=n-k;
for i:=1 to k do
begin
a[i]:=a[n-k+i];
end;
n:=k;
Writeln('Ответ');
Writeln;
Writeln('Размер полученного массива ',n);
Write(' A[]: '); for i:=1 to n do Write(A[i],' ');
end.
volkov
вот ссылка на решения, только там код не всегда верный.
http://interacia.net/index.php/2011-02-15-...ay-90-111-.html
Валенсия
Спасибо вам огромное. Просто выручили
Валенсия
Цитата(volkov @ 5.12.2014, 0:32) *
program Array97;
var
a: array [1..10] of integer;
k,N,j,i:integer;
bol:boolean;
begin
writeln('Введите N (N<=10)');
readln(N);
writeln('Значения массива А');
for i:=1 to n do begin write('a[',i,']=');readln(A[i]); end;
// решение
k:=n-1;
for i:=N-1 downto 1 do
begin
bol:=true;
for j:=i+1 to n do
begin
if (a[j]=a[i]) then begin
bol:=false;
end;

Решение в паскале а мне нужно в делфи ...поготите решить
end;
if bol then begin
a[k]:=a[i];
dec(k);
end;
end;
k:=n-k;
for i:=1 to k do
begin
a[i]:=a[n-k+i];
end;
n:=k;
Writeln('Ответ');
Writeln;
Writeln('Размер полученного массива ',n);
Write(' A[]: '); for i:=1 to n do Write(A[i],' ');
end.

Валенсия
Решение в паскале а мне нужно в делфи. Помогите решить
RUSich
Цитата(Валенсия @ 15.12.2014, 23:25) *
Решение в паскале а мне нужно в делфи. Помогите решить

Сделайте по аналогии... Тем более языки очень похожи...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.