Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
M3A7X9
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 7
#1

Задача на Двухмерный массив . ! В исходной матрице заменить элементы главной диагонали на единицу - Turbo Pascal

10.06.2014, 17:16. Просмотров 567. Ответов 2
Метки нет (Все метки)

Дан массив из 64 последовательных элементов {a1, a2,…, a64}.
Для вычисления элементов массива используется формула
ai = a0 + i*h, (1)
где a0 , h – переменные, значения которых индивидуальные для каждого варианта задания.
i – порядковый номер элемента массива.
Необходимо массив представить в виде двумерного, размерностью 8х8 (исходный).
Задать: Цвет фона - белый, цвет символов - черный.
В исходной матрице заменить элементы главной диагонали на единицу, а элементы находящиеся выше главной диагонали на элементы числового ряда (b1, b2,…, bi), рассчитываемые по формуле:
bi = b0- k*f(i),
где b0 , k – переменные, значения которых индивидуальные для каждого варианта задания.
f(x) – cos(x);
i – порядковый номер элемента ряда.
a0 - 0
h - 2
b0 - 5.2
k - 0.6
Полученную матрицу вывести на экран.

Добавлено через 34 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
i,j,n,tmp,k:integer;
begin
textbackground(white);
textcolor(black);
clrscr;
repeat
write('Порядок матрици n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица :');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(20);
write(a[i,j]:4);
end;
writeln;
end;
writeln('Преобразованная матрица :') ;
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=n-i+1 then
a[i,j]:=1;
write(a[i,j]:4);
end;
writeln;
end;
readkey;
end.

дополните код чтоб он рассчитывал по формуле изложенной выше (((( !!! спасибо заранее
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2014, 17:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача на Двухмерный массив . ! В исходной матрице заменить элементы главной диагонали на единицу (Turbo Pascal):

В исходной матрице заменить нулями все элементы, стоящие на главной диагонали и выше нее - Turbo Pascal
В исходной матрице заменить нулями все элементы, стоящие на главной диагонали и выше нее. Массив заполняется случайным образом на...

Массив. Элементы, расположенные ниже главной диагонали, заменить на единицу - Turbo Pascal
Дана квадратная матрица порядка размерностью 6Х6. Элементы, расположенные ниже главной диагонали, заменить на единицу. По этой задаче...

Заменить в матрице положительные элементы главной диагонали - Turbo Pascal
Заменить в матрице положительные элементы главной диагонали и ниже нее на ноль используя подпрограмму.

Заменить в матрице элементы главной диагонали нулями - Turbo Pascal
Дано матрицу А размером 6х6. Изменить в матрице элементы главной диагонали нулями

В матрице заменить элементы, лежащие выше главной диагонали нулями - Turbo Pascal
В матрице с(5;5) заменить элементы, лежащие выше главной диагонали нулям.

В матрице заменить элементы, лежащие выше главной диагонали нулями - Turbo Pascal
Написать программу на языке Turbo Pascal, которая в матрице С(5;5) заменяет элементы, лежащие выше главной диагонали нулями. Исходные...

2
Svager
393 / 373 / 212
Регистрация: 14.09.2013
Сообщений: 1,200
10.06.2014, 22:19 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
какой ужас, Вы не можете формулы вписать ?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
i,j,n,tmp,k:integer;
begin
textbackground(white);
textcolor(black);
clrscr;
repeat
write('Ïîðÿäîê Г¬Г*òðèöè n=');
readln(n);
until n in [1..nmax];
writeln('ÈñõîäГ*Г*Гї Г¬Г*òðèöГ* :');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=0+i*2;
write(a[i,j]:4);
end;
writeln;
end;
writeln('ÏðåîáðГ*çîâГ*Г*Г*Г*Гї Г¬Г*òðèöГ* :') ;
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=n-i+1 then
a[i,j]:=1;
write(a[i,j]:4);
end;
writeln;
end;
readkey;
end.
1
M3A7X9
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 7
11.06.2014, 01:52  [ТС] #3
Svager, это реальный ужасс ... самому стыдно ((( спасибо большое ...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 01:52
Привет! Вот еще темы с ответами:

В матрице B все элементы, стоящие ниже главной диагонали, заменить на нуль. Полученную матрицу сложить с матрицей A. - Turbo Pascal
Даны матрици A и B размером (n*n) В матрице B все элементы, стоящие ниже главной диагонали, заменить на нуль. Полученную матрицу сложить...

Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить - Turbo Pascal
Всем привет. Очень давно не работал с Pascal'ем и ни как не могу понять, что надо сделать, думаю у вас это получится лучше .... ...

Заменить элементы главной диагонали единицами, элементы, расположенные под главной диагональю увеличить вдвое - Turbo Pascal
паскаль.... Дана матрица L (4,4). Заменить элементы главной диагонали единицами, элементы, расположенные под главной диагональю...

Если матрица квадратная, то элементы главной диагонали заменить на элементы побочной диагонали - Turbo Pascal
Надеюсь поможете: если матрица квадратная, то элементы главной диагонали заменить на элементы побочной диагонали. Элементы побоч....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.