Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.01.2022
Сообщений: 7

Нахождение квадрата

30.01.2022, 14:10. Показов 589. Ответов 3

Студворк — интернет-сервис помощи студентам
Дана квадpатная таблица А(N, N), элементами котоpой являются нули и единицы. Установите наличие в ней квадpата, строны которого состоят из М единиц (M<=N) и параллельны строкам или столбцам таблицы. Если такой квадpат найдется, то нужно вывести кооpдинаты его веpхнего левого угла.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2022, 14:10
Ответы с готовыми решениями:

Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга
Напишите, пожалуйста, программу, через процедуру, максимально просто в PascalABC.net.

Дана площадь квадрата S, нужно найти сторону и диагональ квадрата
Начинающий в pascal-е, нужно написать следующую программу: Дана площадь квадрата S, нужно найти сторону и диагональ квадрата. ...

Изобразить движение квадрата по окружности (так, чтобы центр квадрата двигался по окружности)
Изобразить движение квадрата по окружности (так, чтобы центр квадрата двигался по окружности) Вот, написала, но это не совсем похоже на...

3
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
31.01.2022, 09:01
Цитата Сообщение от AnnGeints Посмотреть сообщение
Установите наличие в ней квадpата, строны которого состоят из М единиц (M<=N) и параллельны строкам или столбцам таблицы
С таким условием вывод будет всегда (0,0), потому что любую квадратную область в матрице можно считать подходящим квадратом.
Ищите что вы не перекопировали из задания.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
31.01.2022, 15:29
Цитата Сообщение от Sun Serega Посмотреть сообщение
потому что любую квадратную область в матрице можно считать подходящим квадратом.
это ещё почему, простите?

вот пример матрицы 6x6:
Code
1
2
3
4
5
6
0 0 1 0 1 1
0 0 1 1 1 1
0 1 1 0 1 1
1 0 1 1 1 0
0 1 0 0 0 1
0 1 1 1 1 1
Показать, где здесь квадрат со стороной M=3, подходящий под задание "квадрат, стороны которого состоят из М единиц (M<=N) и параллельны строкам или столбцам таблицы" ?

AnnGeints, а что, собственно, не получается?
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
31.01.2022, 16:04

Не по теме:

Может есть какое то особое значение слова "квадрат", которое для меня не само собой разумеется?
Можно брать под-матрицу, квадратной формы, у которой все значения одинаковы. Можно, к примеру, так чтобы была квадратная рамка значений.
Но в общем случае это будет под-матрица квадратной формы - которую можно откуда угодно достать.

Добавлено через 1 минуту
P.S. А, не, это я таки неправильно прочитал, но теперь тоже вижу - под "единицами" наверное имели в виду значения =1...



Добавлено через 29 минут
Если делать эффективнее:
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
## var (N,M) := ReadInteger2('N,M =');
var A := MatrRandom(N,N, 0,1).Println;
 
var TestPos := function(row1,col2: integer): boolean->
begin
  Result := false;
  var col1 := col2-(M-1);
  var row2 := row1+(M-1);
  for var row := row1+1 to row2-1 do
  begin
    if A[row,col1]<>1 then exit;
    if A[row,col2]<>1 then exit;
  end;
  for var col := col1 to col2 do
    if A[row2,col]<>1 then exit;
  Result := true;
end;
 
for var row := 0 to N-M do
begin
  var row_c := 0;
  
  for var col:= 0 to N-M do
  begin
    if A[row,col]=1 then row_c += 1 else row_c := 0;
    if row_c<M then continue;
    if TestPos(row,col) then
    begin
      ((row,col-M+1)).Println;
//      exit;
    end;
  end;
  
end;
А если проще:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## var (N,M) := ReadInteger2('N,M =');
var A := MatrRandom(N,N, 0,1).Println;
 
var Test := function(a: array of integer): boolean->a.All(x->x=1);
for var row := 0 to N-M do
  for var col:= 0 to N-M do
  begin
    var sA := A[row:row+M,col:col+M];
    if Test(sA.Row(0)) and Test(sA.Row(M-1)) and Test(sA.Col(0)) and Test(sA.Col(M-1)) then
    begin
      ((row,col)).Println;
      sA.Println;
//      exit;
    end;
  end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2022, 16:04
Помогаю со студенческими работами здесь

Построить алгоритм нахождение квадрата натуральных чисел
Помогите построить алгоритм нахождение квадрата натуральных чисел

В центре каждого квадрата матрицы поместить сумму остальных элементов квадрата
Напишите пожалуйста решение программы!Очень срочно!СПАСИБО! На побочной диагонали разместить суммы элементов, которые лежат на той же...

Анимация. Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата
Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата:

Написать функцию, которая вычисляет площадь квадрата. Параметром функции должна быть сторона квадрата
Написать функцию, которая вычисляет площадь квадрата. Параметром функции должна быть сторона квадрата.

Разбить матрицу на квадраты размером 3х3. В центре каждого квадрата поместить сумму других элементов квадрата
Помогите, нужно написать код в паскале. Добавлено через 42 минуты Нашел на форуме, если он верный, переведите пожалуйста на паскаль ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru