Другие языки программирования и технологии
Помогите пожалуйста с задачей в паскаль!
Дан целочисленный линейный массив. Вставить в него заданное число перед последним четным элементом.
Нахождение номера последнего четного элемента. Не очень оптимальный способ, но простой
k:=0;
for i:=1 to n do
if a[i] mod 2 = 0 then k:=i;
Вставка элемента в массив
https://www.google.com.ua/?gws_rd=ssl#q=вставка+элемента+в+массив+паскаль
k:=0;
for i:=1 to n do
if a[i] mod 2 = 0 then k:=i;
Вставка элемента в массив
https://www.google.com.ua/?gws_rd=ssl#q=вставка+элемента+в+массив+паскаль
Александр Кольца
спасибо, поняла теперь)
Program DoSs;
var
i,c,m,k,num:integer;
a:array[1..10] of integer;
begin
for i:=1 to 10 do
begin
a[i]:=random(50);
write(a[i], ' ; ');
end;
k:=0;
for i:=1 to 10 do
if (a[i] mod 2=0) then
k:=i;
c:=k-1;
writeln('Номер последнего четного элемента ' ,k);
writeln('Предыдущий элемент был ',c);
writeln('Введите число на которое нужно заменить элемент массива');
readln(num);
for i := 1 to c do
a[c] := num;
write(' Измененый массив : ');
for i := 1 to 10 do
write(a[i]:5);
writeln;
end.
Вот надеюсь на лучший ответ)
var
i,c,m,k,num:integer;
a:array[1..10] of integer;
begin
for i:=1 to 10 do
begin
a[i]:=random(50);
write(a[i], ' ; ');
end;
k:=0;
for i:=1 to 10 do
if (a[i] mod 2=0) then
k:=i;
c:=k-1;
writeln('Номер последнего четного элемента ' ,k);
writeln('Предыдущий элемент был ',c);
writeln('Введите число на которое нужно заменить элемент массива');
readln(num);
for i := 1 to c do
a[c] := num;
write(' Измененый массив : ');
for i := 1 to 10 do
write(a[i]:5);
writeln;
end.
Вот надеюсь на лучший ответ)
Валерий Кочеровский
Надейся) Нужно не заменить, а вставить между ними
В этой проге элементы нужно вводить вручную, вставленное число сдвигает остальные эл. массива вправо, последний элемент выпадает. Протестируешь - отпиши, все ли работет :)
Program Zadanie;
const
N = 8; {Количество эл. массива, можно изменять}
type
TMas1 = array [1..N] of integer;
var
m, k, i, c, d, r, b: integer;
A: TMas1;
begin
m:=0;
for i:= 1 to N do
begin
write ('Введите число: ');
readln (m);
A[i]:=m;
end;
write ('Введите число, которое нужно вставить перед посл. четн. эл.: ');
readln(d);
write('Массив A: ');
for i:= 1 to N do
begin
write(A[i], ' ');
end;
writeln;
b:=0;
for i:=1 to N do
begin
if A[i] mod 2 = 0 then
b:=i;
end;
k:=b;
c:=0;
r:=0;
if b=1 then
r:=A[k]
else
r:=A[k-1];
repeat
c:=A[k];
A[k]:=r;
r:=c;
k:=k+1;
until k>N;
A[b]:=d;
write('Массив A: ');
for i:= 1 to N do
begin
write(A[i], ' ');
end;
writeln;
end.
Program Zadanie;
const
N = 8; {Количество эл. массива, можно изменять}
type
TMas1 = array [1..N] of integer;
var
m, k, i, c, d, r, b: integer;
A: TMas1;
begin
m:=0;
for i:= 1 to N do
begin
write ('Введите число: ');
readln (m);
A[i]:=m;
end;
write ('Введите число, которое нужно вставить перед посл. четн. эл.: ');
readln(d);
write('Массив A: ');
for i:= 1 to N do
begin
write(A[i], ' ');
end;
writeln;
b:=0;
for i:=1 to N do
begin
if A[i] mod 2 = 0 then
b:=i;
end;
k:=b;
c:=0;
r:=0;
if b=1 then
r:=A[k]
else
r:=A[k-1];
repeat
c:=A[k];
A[k]:=r;
r:=c;
k:=k+1;
until k>N;
A[b]:=d;
write('Массив A: ');
for i:= 1 to N do
begin
write(A[i], ' ');
end;
writeln;
end.
Александр Кольца
даа, работает спасибо большое)
Похожие вопросы
- Pascal. Помогите пожалуйста решить задачу в паскале !
- Помогите,пожалуйста,решить задачу в Паскале.
- Помогите пожалуйста с задачей на Паскаль.
- Помогите пожалуйста набрать задачу на паскале или на С++
- Помогите пожалуйста решить задачу в паскале.
- помогите пожалуйста!!!!решить задачу на паскале...
- помогите пожалуйста решить задачи в паскале очень нужно!
- Помогите пожалуйста решить задачу в Паскале!
- Люди помогите пожалуйста решить задачу по паскалю
- Помогите пожалуйста с задачей в Паскале!