Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 14.10.2024
Сообщений: 1

Найти количество фрагментов матрицы размером 2x2 заполненных единицами

14.10.2024, 18:12. Показов 558. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, начал изучать с++ и на теме матрицы столкнулся с проблемой. Вроде как решение правильное, но не все тесты проходит, пишет, что ответ неверный.
Задача:
COUNT-SUB
Вам дается двумерный массив из n строк и m столбцов. Вам нужно найти количество под-квадратов размера 2x2 которые заполнены однерками. Если взять левый верхний угол как i, j то под-квадрат это позиций:

(i, j) (i + 1, j) (i, j + 1) (i + 1, j + 1)


Внимание! Система степика чуствительна к пробелам и к символам окончания строки (endl). Решения с лишними выше перечислеными символами будут считаться за неверными. Что бы решения считалось допустимым вы не должны выводит пробел после последнего символа с строке и символ окончания строки (endl) после последней строки.



INPUT

На вход дается n (1 <= n <= 30), m (1 <= m <= 30) и таблица из n строк и m столбцов. Каждый символ таблицы либо 0 либо 1.



OUTPUT

Выведите ответ на задачу.

Sample Input:

3 3
1 1 1
1 1 1
1 1 1
Sample Output:

4

Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
int main() {
    int n, m;
    cin >> n >> m;
    int arr[n][m];
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++){
            cin >> arr[i][j];
        }
    }
    int count = 0;
    for (int i = 0; i < n - 1; i++){
        for (int j = 0; j < m - 1; j++){
            if (arr[i][j] == arr[i][j+1] == arr[i+1][j] == arr[i+1][j+1] == 1){
                count += 1;
            }
        }
    }
    cout << count;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2024, 18:12
Ответы с готовыми решениями:

В массиве из 20 чисел, заполненных с клавиатуры нулями и единицами, найти самую длинную цепочку из единиц
Прошу помочь решить задачу. Вот сама задача: &quot;В массиве из 20 чисел, заполненных с клавиатуры нулями и единицами, найти самую длинную...

Заполнить первую половину матрицы размером n*n единицами, а вторую - нулями
2. Заполнить первую половину двумерного массива размерности n x n еденицами, а вторую 0 , выручите пожалуйста

Найти все квадратные матрицы A размера 2x2, если A*A = E
Почему в ответе получается минус у элемента a во второй строке и втором столбце?

2
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,214
14.10.2024, 19:49
Цитата Сообщение от kirches2006 Посмотреть сообщение
#include <cmath>
К чему это здесь?

Цитата Сообщение от kirches2006 Посмотреть сообщение
int arr[n][m];
Такое не допускается в стандартном С++.

Цитата Сообщение от kirches2006 Посмотреть сообщение
if (arr[i][j] == arr[i][j+1] == arr[i+1][j] == arr[i+1][j+1] == 1){
Что здесь происходит?
0
 Аватар для Pphantom
2275 / 1530 / 714
Регистрация: 17.03.2022
Сообщений: 4,912
14.10.2024, 20:24
Лучший ответ Сообщение было отмечено Pphantom как решение

Решение

kirches2006, у вас несколько специфические представления о том, как в C++ работают сравнения. Интереса ради попробуйте скомпилировать и запустить вот такой предельно рафинированный пример:
C++
1
2
3
4
5
6
#include<iostream>
 
int main()
{
  if(1 == 1 == 0 == 0 == 1) std::cout << "Сработало!\n";
}
Вы обнаружите, что оно тоже "Сработало!", и это как раз пример ситуации, когда ваш код отрабатывает неправильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2024, 20:24
Помогаю со студенческими работами здесь

Дана матрица M размером m х n . Найти количество элементов матрицы, равных числу c
Дана матрица M размером m х n . Найти количество элементов матрицы, равных числу c

Найти количество положительных и отрицательных чисел в каждой строке матрицы размером MxN
Дана матрица MxN. Найти количество положительных и отрицательных чисел в каждой строке и вывести ответ по каждой строке. Допустим как...

дана матрица целых чисел размером 5х6. Найти количество нечетных элементов матрицы и сумму, равных 6
дана матрица целых чисел размером 5х6. Найти количество нечетных элементов матрицы и сумму, равных шести.

Найти количество непересекающихся фрагментов последовательности
Как найти количество непересекающихся фрагментов последовательности 1,1,2,1,3 без использования массивов?

Как найти количество непересекающихся фрагментов последовательности 1,1,2,1,3
Как найти количество непересекающихся фрагментов последовательности 1,1,2,1,3


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru