Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 14

Создать массив по заданному правилу

17.03.2020, 15:24. Показов 1015. Ответов 2

Студворк — интернет-сервис помощи студентам
Нужно сделать чтоб находило сумму элементов под и над главной и побочной диагоналями(так как на фотографии) на основе задачи 14(она ниже). Помогите тупому человеку)

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Program z_14;
Uses crt, graphabc;
Const n=9;
var
mas:array[1..n,1..n]of integer;
x,y,k, i:integer;
sum : real;
begin
 k:=k+1;
 for x:=1 to (n+1) div 2 do
  begin
   for y:=x to n-x+1 do
    begin
     mas[x,y]:=k;
     Inc(k);
    end;
   for y:=x+1 to n-x+1 do
    begin
     mas[y,n-x+1]:=k;
     Inc(k);
    end;
   for y:=n-x downto x do
    begin
     mas[n-x+1,y]:=k;
     Inc(k);
    end;
  for y:=n-x downto x+1 do
   begin
    mas[y,x]:=k;
    Inc(k);
   end;
  end;
 
for x:=1 to n do
 for y:=1 to n do begin
  if x = y then
  mas[x,y]:=0;
  if x + y = n+1 then
  mas[x,y]:=0;
 
  end;
 
 for x:=1 to n do
 for y:=1 to n do
  begin
   rectangle (y*50, x*50, y*50+38, x*50+38);
   textsize (15);
   textout (y*50+6, x*50+6, inttostr(mas[x,y]));
  end;
  end.
Добавить
Миниатюры
Создать массив по заданному правилу  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2020, 15:24
Ответы с готовыми решениями:

Создать массив по заданному правилу
Нужно из этого: Uses crt, graphabc; Const n=9; var mas:arrayof integer; x,y,k,m:integer; begin k:=k+1; for x:=1 to...

Создать новый массив на основе исходного по заданному правилу
Дан массив K(12). Создать новый массив С, где все элементы, расположенные на чётных позициях равны половине соответсвующих элементов...

Массив: преобразовать исходный массив по заданному правилу
Дан одномерный массив A (a1,a2, ..., an). Найти массив B, того же размера B (b1,b2,...,bn), где b12 = a1 +2a1 - I, для всех I=1,..,n; ...

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
17.03.2020, 16:30
Матрицу создать как в коде или как на картинке?

Добавлено через 40 минут
Такое нужно?
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
36
37
38
39
40
41
42
43
44
Uses GraphABC;
Const n=9;
var mas:array[1..n,1..n]of integer;
    k,x,y,r:integer;
    vg,ng,vp,np:integer;//суммы выше, ниже главной, выше, ниже побочной
begin
k:=9;
r:=0;//расстояние от края до строки(столбца)
k:=9;//значение в ячейке [1,0]
//заполняем по спирали
repeat
    inc(r);
    for x:=r   to n-r+1   do begin inc(k);mas[r,x]:=k end; //вправо
    for x:=r+1 to n-r+1   do begin inc(k);mas[x,n-r+1]:=k end; //вниз
    for x:=n-r downto r   do begin inc(k);mas[n-r+1,x]:=k end;//влево
    for x:=n-r downto r+1 do begin inc(k);mas[x,r]:=k end;//вверх
  until k=n*n+9;//дошли до центра
for x:=1 to n do //обнуляем диагонали
 begin
  mas[x,x]:=0;
  mas[x,n-x+1]:=0;
 end;
setwindowsize(540,600); //размер графического окна
centerwindow; //по центру экрана
vg:=0;
ng:=0;
vp:=0;
np:=0;
for x:=1 to n do
for y:=1 to n do
 begin
  rectangle (y*50, x*50, y*50+38, x*50+38);
  setfontsize (15);
  textout (y*50+6, x*50+6, inttostr(mas[x,y]));
  if y>x then inc(vg,mas[x,y])
  else if y<x then inc(ng,mas[x,y]);
  if y<n-x+1 then inc(vp,mas[x,y])
  else if y>n-x+1 then inc(np,mas[x,y]);
 end;
textout(0,windowheight-100,'Сумма под главной    диагональю='+inttostr(ng));
textout(0,windowheight-80,'Сумма над главной    диагональю='+inttostr(vg));
textout(0,windowheight-60,'Сумма под побочной диагональю='+inttostr(np));
textout(0,windowheight-40,'Сумма над побочной диагональю='+inttostr(vp));
end.
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
17.03.2020, 19:53
Лучший ответ Сообщение было отмечено AyartG как решение

Решение

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
const n=4;
var i,j,s:integer;
  a:array[1..n,1..n]of integer;
 
begin
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=random(41)-20;
      write(a[i,j]:4); end;
    writeln; end;
  writeln;
 
  for i:=2 to n do
    for j:=1 to i-1 do
      s:=s+a[i,j];
  writeln('Сумма элементов под главной диагональю: ',s);
  
  s:=0;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      s:=s+a[i,j];
  writeln('Сумма элементов над главной диагональю: ',s);
  
  s:=0;
  for i:=2 to n do
    for j:=n-i+2 to n do
      s:=s+a[i,j];
  writeln('Сумма элементов под побочной диагональю: ',s);   
  
  s:=0;
  for i:=1 to n-1 do
    for j:=1 to n-i do
      s:=s+a[i,j];
  writeln('Сумма элементов над побочной диагональю: ',s);
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2020, 19:53
Помогаю со студенческими работами здесь

Сформировать массив по заданному правилу
Дан произвольный числовой массив {х1, х2, ..., хI, ..., Хn} Сформировать массив {y1, y2, ..., yI, ..., Yn} По правилу: ...

Получить массив по заданному правилу
как это записать в паскале,и составить блок схему Дано число n и массив a(k=1,n). Просматривая ak один раз, получить массив bj,...

Заполнить массив по заданному правилу
1. Заполнить массив y по правилу для всех с шагом 1: у=х+ сos x

Заполнить массив по заданному правилу
имеется код и при запуске на 8-ой строчке выдаёт ошибку, что индекс находился вне границы массива: var i,j,n,a,b,s,s1,c,f:integer; ...

Из двух двумерных массивов создать третий по заданному правилу
Дано два двумерных массива х(n1хm) ,y(n2хm). Cформировать массив z((n1+n2+2)хm), таким образом чтобы сначала располагались n1 строк из...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru