Элементы заданного массива B(N) переписать в новый массив A(N) в обратном порядке
Твоих попыток что-то не видно ... с чем проблемы ? С вводом массива ? Алгоритм практически весь в заголовке твоей темы написан.
http://forum.pascal.net.ru/index.php?showtopic=2694
ну т.е.
сначала раписал массив как B(n) как For i:=1 to N do
потом A(n) как For i:=N downto 1 do B[i]:=A[N-i+1]
но что-т не получается задача)
вводишь массив A, а потом
for i := n downto 1 do
b[i] := a[n - i + 1];
Ничего не понял... Что вводится, а что надо заполнить? Вводится B, заполняется A? Тогда
for i := n downto 1 do
a[i] := b[n - i + 1];
type mas=array [1..20] of real;
var
A, B: mas;
i,N: integer;
begin
write('Vvedite N');
readln(N);
for i:=1 to N do begin
Write('A[',i,']=');
readln(A[i]);
end;
for i:=N to 1 do B[i]:=A[N-i+1];
writeln;
writeln(A[i],'');
readln
end.
посидел над программкой.
вот что в итоге получилось:
var
I, N: integer;
A,B:array [1..50] of integer;
begin
Write('Vvedite kol-vo 4isel v massive, N=');
Readln(N);
for i:=1 to n do
begin
write('Vvedite A[',i,']=');
readln(A[i]);
end;
for i:=n downto 1 do A[N-i+1]:=B[i];
write(B[i],' ');
readln;
end.
var
I, N: integer;
A:array [1..50] of integer;
begin
Write('Vvedite kol-vo 4isel v massive, N=');
Readln(N);
for i:=1 to n do
begin
write('Vvedite A[',i,']=');
readln(A[i]);
end;
for i:=n downto 1 do
write(A[i],' ');
readln;
end.
readln(A[i]); //ты заполняешь массив А, хотя по заданию надо В..
end;
for i:=n downto 1 do A[N-i+1]:=B[i]; //а тут ты ему же присваиваешь значения из массива В,
//который пока что состоит из нулей
write(B[i],' '); //и выводишь ты в не цикла (begin\end вроде еще не отменяли)))
var
i, n: integer;
A,B:array [1..50] of integer;
begin
Write('Vvedite kol-vo 4isel v massive, N=');
Readln(n);
for i:=1 to n do
begin
write('Vvedite B[',i,']=');
readln(B[i]); //заполняешь массив _В_
end;
for i:=n downto 1 do
begin
A[n-i+1]:=B[i];
write(A[n-i+1],' '); //и выводить нужно с таким индексом, иначе, при A[i] ты выводишь
// элементы, которые еще не заполнены, то бишь нули
end;
readln;
end.
оо)
огромное спасибо)
program Demo;
uses
crt;
var
a,b:array [1..10] of integer;
i:integer;
begin
clrscr;
writeln('a[i]>');
for i:=1 to 10 do
readln(a[i]);
for i:=10 downto 1 do
begin
b[i]:=a[10-i+1];
writeln('b[i]',b[i]);
end;
readln;
end.
[quote name='Гость' date='26.01.2008 23:47' post='119317']
Я решил эту задачу так решил...вроде работало...посмотри....
program Demo;
uses
crt;
var
a,b:array [1..10] of integer;
i:integer;
begin
clrscr;
writeln('a[i]>');
for i:=1 to 10 do
readln(a[i]);
for i:=10 downto 1 do
begin
b[i]:=a[i];
writeln('b[i]',b[i]);
end;
readln;
end.
[quote][quote name='Гость' date='26.01.2008 23:47' post='119317']
Я решил эту задачу так решил...вроде работало...посмотри....
[/quote]
program Demo;
uses
crt;
var
a,b:array [1..10] of integer;
i:integer;
begin
clrscr;
writeln('a[i]>');
for i:=1 to 10 do
readln(a[i]);
for i:=10 downto 1 do
begin
b[i]:=a[i];
writeln('b[i]',b[i]);
end;
readln;
end.
for i:=10 downto 1 do
begin
b[i]:=a[10-i+1]; //присваивание правильное
writeln('b[i]',b[i]); //а вывод нет.. у тебя массив В выводится с конца, а тогда похоже,
//что заполнен он не правильно
end;
for i:=10 downto 1 do
begin
b[i]:=a[i]; //а здесь ты заполняешь его неправильно.. он получается такой же как А
writeln('b[i]',b[i]); //а на выводе "обманываешься"))
end;
writeln('b[',i,']',b[i]); //тогда и ошибки увидишь
А вот теперь точно правильно...Спасибо за комментарии..я понял свои ошибки...
uses
crt;
var
a,b:array [1..10] of byte;
i:integer;
begin
clrscr;
write('b[i]>');
for i:=1 to 10 do
readln(b[i]);
for i:=10 downto 1 do
begin
a[10-i+1]:=b[i];
end;
for i:=1 to 10 do
writeln(a[i]);
readln;
end.