Другие языки программирования и технологии
Turbo pascal 7.0,задача
двумерные массивы----------------------------------даны действительные числа а1,...а64. Получить действительную квадратную матрицу 8-ого порядка, жэлементами которого являются числа а1,...а64, расположенные в них по схеме, которая приведена на рисунке:=============--------------->-------- ----------------------<-- - -->--------------------- ----------<----------------------->----------------================
Доброго времени суток.
Не совсем понятоно, что значит даны? Они в одномерном массиве, вводятся с клавиатуры, еще как-то?
Такой код решает поставленную задачу. Пусть вас не смущает тиg элментов массива Integer. Это сделано только для тестирования.
var
A : array[1..8, 1..8] of Integer;
i, j, k : Integer;
begin
k := 1; {первое число из 64 заданных}
for i:=1 to 8 do {цикл по строкам}
for j:=1 to 8 do begin {цикл по столбцам}
if i mod 2 = 1 then A[i,j] := k {для не четных строк}
else A[i,9-j] := k; {для четных строк}
k := k + 1; {переход к следующему из заданных чисел}
end;
{а это чтобы проверить заполнение массива}
for i:=1 to 8 do begin
for j:=1 to 8 do Write (A[i,j]:3);
WriteLn;
end;
ReadLn; {и увидеть результат}
end.
Здесь к может быть индексом одномерного массива, в котором заданы входные числа. Если числа вводятся с клавиатуры, то вместо присваивания := k;, нужно организовать ввод ReadLn(A[i,j]); или ReadLn(A[i,9-j]);
Удачи!
Не совсем понятоно, что значит даны? Они в одномерном массиве, вводятся с клавиатуры, еще как-то?
Такой код решает поставленную задачу. Пусть вас не смущает тиg элментов массива Integer. Это сделано только для тестирования.
var
A : array[1..8, 1..8] of Integer;
i, j, k : Integer;
begin
k := 1; {первое число из 64 заданных}
for i:=1 to 8 do {цикл по строкам}
for j:=1 to 8 do begin {цикл по столбцам}
if i mod 2 = 1 then A[i,j] := k {для не четных строк}
else A[i,9-j] := k; {для четных строк}
k := k + 1; {переход к следующему из заданных чисел}
end;
{а это чтобы проверить заполнение массива}
for i:=1 to 8 do begin
for j:=1 to 8 do Write (A[i,j]:3);
WriteLn;
end;
ReadLn; {и увидеть результат}
end.
Здесь к может быть индексом одномерного массива, в котором заданы входные числа. Если числа вводятся с клавиатуры, то вместо присваивания := k;, нужно организовать ввод ReadLn(A[i,j]); или ReadLn(A[i,9-j]);
Удачи!
и в схеме первая строка без изменений вторая в обратном потом снова без изменений и обратно?..
слово "действительная" меняет суть? не особо помню ( если нет, то вот:
a: array [1..8, 1..8] of real;
numbers: array [1..64] of real; {если числа даны как-то кроме массива, надо или перегнать их в него, или подправить мой код}
...
for i:=1 to 8 do
if i mod 2 <> 0 then
for j:=1 to 8 do
a[i, j]:=numbers[(i-1)*8+j]
else
for j:=8 downto 1 do
a[i, 9-j]:=numbers[(i-1)*8+j]
end;
вроде так
a: array [1..8, 1..8] of real;
numbers: array [1..64] of real; {если числа даны как-то кроме массива, надо или перегнать их в него, или подправить мой код}
...
for i:=1 to 8 do
if i mod 2 <> 0 then
for j:=1 to 8 do
a[i, j]:=numbers[(i-1)*8+j]
else
for j:=8 downto 1 do
a[i, 9-j]:=numbers[(i-1)*8+j]
end;
вроде так
Похожие вопросы
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!
- turbo pascal 7.0!
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Turbo Pascal 7.0 помогите пожалуйста!!!
- В чём разница С++,С#,Turbo Pascal 7.0!И что лучше и легче?
- Для чего в школах преподают Turbo Pascal 7.0?
- Какой язык програмирования выбрать? Уже заканчиваю изучение Turbo pascal 7.0, какой изучать потом? Напишите поконкретнее
- Как вставить текст в Turbo Pascal 7.1???
- Помогите с Pascal 7.0!Кто чем может!
- Помогите написать задачу на Pascal 7.0