Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 16:40   #1
nikita1
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Выве

Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Вывести массив В.

вот мой вариант,но он неверный. подскажите,пожалуйста,где именно ошибка.
Код:
PROGRAM NIKITA;
Uses CRT;
var A:array[1..20] of real;
var B:array[1..20] of real;
var i:integer;
begin
	clrscr;
	for i:=1 to 20 do
	readln (a[i]);
	if i mod 2=0 then
	begin
	for i:=1 to 20 do
	B[i]:= A[i-1];
	end
	else
	begin
	for i:=1 to 20 do
	B[i]:=A[i-1];
	end;
	for i:=1 to 20 do
	write (B[i]);
end.

Последний раз редактировалось Stilet; 01.12.2010 в 17:25.
nikita1 вне форума Ответить с цитированием
Старый 01.12.2010, 17:11   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Код:
...
for i:=1 to 19 do
begin
B[i]:= A[i+1];
B[i+1]:= A[i];
end
...
Это цикл для записи элементов в B[]
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 01.12.2010, 17:27   #3
nikita1
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

PROGRAM NIKITA;
Uses CRT;
var A:array[1..20] of real;
var B:array[1..20] of real;
var i:integer;
begin
for i:=1 to 20 do
writeln('vvedite element massiva');
readln (a[i]);
for i:=1 to 19 do
begin
B[i]:=A[i+1];
B[i+1]:=A[i];
end;
for i:=1 to 20 do
write (B[i]:8:3);
end.

так? всё равно не работает..
nikita1 вне форума Ответить с цитированием
Старый 01.12.2010, 17:57   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от nikita1 Посмотреть сообщение
PROGRAM NIKITA;
Uses CRT;
var A:array[1..20] of real;
var B:array[1..20] of real;
var i:integer;
begin
for i:=1 to 20 do
writeln('vvedite element massiva');
readln (a[i]);
for i:=1 to 19 do
begin
B[i]:=A[i+1];
B[i+1]:=A[i];
end;
for i:=1 to 20 do
write (B[i]:8:3);
end.

так? всё равно не работает..
А что именно не работает ??? Просто у меня нет установленного паскаля .
Покажи что он выдает и что ты вводишь , и вводишь ли ты все 20 элементов ?
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 01.12.2010, 18:03   #5
nikita1
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

сорри,это я неправильно вводил..

Всё,теперь работает. Большое спасибо!
nikita1 вне форума Ответить с цитированием
Старый 01.12.2010, 18:16   #6
nikita1
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 10
По умолчанию

всё таки есть ошибка...

В(1) он неправильно выдает. по формуле B[i]:= A[i+1];B[i+1]:= A[i] В(1) никак не получить. или я что то не так понимаю..
nikita1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив... Rec0rd Помощь студентам 2 01.02.2010 00:24
дан массив. Waia Фриланс 5 21.12.2009 18:28
дан массив. Waia Помощь студентам 0 21.12.2009 12:33