Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 2
1

В прямоугольнике разбитом на квадраты найти все квадраты пересекаемые диагональю

22.11.2016, 20:35. Просмотров 1053. Ответов 1
Метки нет (Все метки)

Прямоугольник , стороны которого выражены целыми числами M и N, разбит на квадраты со стороной К. Составить программу которая находит число квадратов пересекаемых диагональю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2016, 20:35
Ответы с готовыми решениями:

Вывести на экран эти квадраты, выделить другим цветом квадраты с максимальной и минимальной площадью
Помогите с заданием : В файле задано квадраты координатами диагоналей. Вывести на экран эти...

Найти все квадраты!
Сформировать список структур. Из исходного списка сформировать новый список структур (в...

Найти все латинские квадраты размера 5
Есть ли другой алгоритм поиска? let n = 5 let rec chaos_a = function | 0|1 -> 1 |...

Заменить все нечетные элементы матрицы на 0, а у четных найти квадраты
Обменять все нечетные элементы на 0,а у четных найти квадраты. A(n*m) матрица

1
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 2
13.12.2016, 19:47  [ТС] 2
короче сам разобрался

const
kol_strok = 100;
kol_stolbcov = 100;

var
A: array[1..kol_strok, 1..kol_stolbcov] of integer;

i, j, k, m, n, o, jk, ik,b,da,nol,fh,t: integer;
f: real;
x:boolean;
begin
Randomize;
k := 1;
readln(n, m);
if n < m then
begin
o:=n;
n:=m;
M:=o;
da:=1;
end;
for i := 1 to kol_strok do
for j := 1 to kol_stolbcov do
begin
A[i, j] := k;
k := k + 1;
if j = kol_stolbcov then
k := 1;
end;
readln(k);
ik:=1;
jk:=1;
k:=k-1;
repeat
for i := ik to ik+k do
for j := jk to jk+k do
if(j=jk+k) or (i=ik+k) then
begin
f := (m * i) / (n);
if ((j >= f) and (Ceil(f) = j)) then
x:=true;
end;
if x=true then
begin
for i := ik to ik+k do
for j := jk to jk+k do
A[i,j]:=0;
inc(t);
end;
x:=false;
jk:=jk+k+1;
if jk>m then
begin
ik:=ik+k+1;
jk:=1;
end
until ik>n;
for i := 1 to kol_strok do
for j := 1 to kol_stolbcov do
if a[i,j]<>0 then
a[i,j]:=1;

if da=1 then
for i := 1 to m do
for j := 1 to n do
begin
write(A[j, i]:2);
if j = n then
begin
writeln;
end;
end
else
for i := 1 to n do
for j := 1 to m do
begin
write(A[i, j]:2);
if j = m then
begin
writeln;
end;
end;
writeln(t)
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2016, 19:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти все трехзначные числа, квадраты которых оканчиваются тремя цифрами
Найти: а) все трехзначные числа, квадраты которых оканчиваются тремя цифрами, кото-рые и...

Найти все трехзначные числа, квадраты которых оканчиваются тремя цифрами
помогите написать программу в visual studio оператор for Найти: а) все трехзначные числа,...

Найти все трехзначные числа, квадраты которых оканчиваются тремя одинаковыми цифрами, отличными от нуля
Всем привет, помогите написать программу, не могу понять как делать

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы
Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца...


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

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

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