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

Задан квадратный массив А из N строк и N столбцов

15.12.2012, 21:29. Показов 1944. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан квадратный массив А из N строк и N столбцов, элементами которого являются нули и единицы, заданные с помощью функции rand().Установить в нем наличие квадрата из единиц со сторной длины M. Если такой квадрат найден, то вывести координаты его верхнего левого угла.

Добавлено через 23 часа 6 минут
C++
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
#include "stdafx.h"
#include <time.h>
#include <iostream>
#include <windows.h> 
#include <stdio.h> 
#include <conio.h>
 
HANDLE hStdout; 
 
int _tmain(int argc, _TCHAR* argv[])
{
********hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
********setlocale(LC_CTYPE,"Russian");
********using namespace std;
********int n,i,j,m,schetchik,num,ysl;
 
********SetConsoleTextAttribute(hStdout, 10); 
********cout<<"Введите размерность массива от 1 до 25\n";
********cin>>n;
********if (n>=1 && n<=25) cout<<"Заполненный массив размерностью "<<n<<"\n\n"; else {cout<<"Неверные данные\n"; return 0;}
 
********srand(time(0));
********SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN); 
 
********//Создаем динамический многомерный массив размерностью n
********int **arr = new int *[n];
********for (int k = 0; k<n; k++) arr[k] = new int [n];
 
********//Заполняем массив случайными числами от 0 до 1 и выводим полученный массив на экран
********for (i=0; i<n; i++)
********{
****************for (j=0; j<n; j++)
****************{
************************arr[i][j]=rand()%2; 
************************printf("%3i", arr[i][j]);
****************}
****************cout<<"\n";
********}
********cout<<"\n";
 
********cout<<"Введите длину квадрата, целое число до "<<n<<"\n";
********cin>>m;
********if (m<=0) {cout<<"Длина квадрата должна быть больше 0\n"; return 0;}
********if (m>n) {cout<<"Длина квадрата должна быть меньше размерности массива\n"; return 0;}
********m=m-1;
Добавлено через 1 минуту
помогите пожалуйста найти координаты верхнего левого угла квадрат, а то что-то вообще не догоняю как это делать...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.12.2012, 21:29
Ответы с готовыми решениями:

Задан двумерный целочисленный массив А из N строк и N столбцов (1<=N<=50).
Задан двумерный целочисленный массив А из N строк и N столбцов (1&lt;=N&lt;=50). Составить программу изменения местами строк и колонок для...

Задан двухмерный массив, состоящий из n строк и n столбцов. Заменить в этом массиве все отрицательные элементы нулями
Задан двухмерный массив, состоящий из n строк и n столбцов. Заменить в этом массиве все отрицательные элементы нулями

Задан массив. Получить из него новый массив путем деления элементов каждой из строк первого массива на элемент этой строки
Задан массив А. Получить из него новый массив путем деления элементов каждой из строк первого массива на элемент этой строки, стоящий по...

3
 Аватар для JlightenDev_C++
64 / 64 / 33
Регистрация: 12.08.2012
Сообщений: 151
15.12.2012, 23:43
C++
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
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <time.h>
#include <conio.h>
 
bool search(int **array, int x, int y, int sizeQ, int size);
 
int main(){
    int size(0), sizeQ(0);
    setlocale(LC_ALL, "RUS");
    srand(time(0));
    do{
    system("CLS");
    std::cout << "Ââåäèòå ðàçìåð ìàòðèöû: ";
    std::cin >> size;
    }while(size < 1 || size > 25);
    int **array = new int *[size];
    for(int i = 0; i < size; i++){
            array[i] = new int [size];
            }
    for(int y = 0; y < size; y++){
            for(int x = 0; x < size; x++){
                    array[y][x] = rand()%2;
                    }
            }
    do{
            system("CLS");
    for(int y = 0; y < size; y++){
            for(int x = 0; x < size; x++){
                    std::cout <<array[y][x];
                    }
                    std::cout << "\n";
            }
    std:: cout << "Ââåäèòå ðàçìåð ñòîðîíû êâàäðàòà: ";
    std::cin >> sizeQ;
    }while(sizeQ < 1 || sizeQ > size);
    for(int y = 0; y < size; y++){
            for(int x = 0; x < size; x++){
                    if(array[y][x]){
                                    if(search(array, x, y, sizeQ, size)){
                                                     printf("Íàéäåí êâàäðàò, êîîðäèíàòû x[%i] y[%i] \n", x, y);
                                                     getch();
                                                     return 1;
                                                     }
                                    }
            }
    }
    std::cout << "\nÊâàäðàò íå íàéäåí!\n";
    getch();
    return 0;
}
bool search(int **array, int x, int y, int sizeQ, int size){
     for(int i = y, ci = 0; ci < sizeQ; i++, ci++){
             if(i > size-1){ return 0;}
             for(int j = x, cj = 0; cj < sizeQ; j++, cj++){
                     if(!array[i][j] || j > size-1){ return 0; }
                     }
             }
     return 1;
}
1
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
19.12.2012, 00:06  [ТС]
Если ввести размеры матрицы 2.36 , то программа выдаст квадрат два на два и зависнет, что надо сделать , чтобы при вводе нецелых чисел выдавалась ошибка?. Подскажите пожалуйста)
0
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
20.12.2012, 10:40  [ТС]
я саму переменную сделал дабл, создал еще одну инт и присвоил ей значение первой
а потом задал условие сравнить их, если они не равны -> ошибка . Прога выдаёт ошибку
1>laba5.obj : error LNK2019: ссылка на неразрешенный внешний символ "bool __cdecl search(int * *,int,int,double,double)" (?search@@YA_NPAPAHHHNN@Z) в функции _main
Подскажите пожалуйста, как исправить ?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2012, 10:40
Помогаю со студенческими работами здесь

Дан двумерный массив из двух строк и пятнадцати столбцов. Найти номера двух соседних столбцов, сумма элементов в которых
решите плз

Дан целый массив из 5 строк и 3 столбцов.Упорядочить массив по возрастанию
Дан целый массив из 5 строк и 3 столбцов.Упорядочить массив по возрастанию элементов первого столбца. не мог бы ктонибудь сказать...

Из исходной таблицы в n строк и 6 столбцов нужно сделать таблицу-результат из кучи строк и 6 столбцов
Добрый вечер, учусь в универcитете, начал изучать макросы и подвернулась &quot;интересная&quot; задача - из одной таблички(маленькой)...

Дан двумерный массив, содержащий 14 строк и 15 столбцов. Элементами массива являются целые числа. Упорядочить массив
Как решить в C# Windows Forms? В консольной не надо)

Задан двумерный массив целых чисел A размером N на N. Найти сумму элементов в каждой строк
Задан двумерный массив целых чисел A размером N на N. Найти сумму элементов в каждой строк


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru