Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
15.12.2012, 21:29     Задан квадратный массив А из N строк и N столбцов #1
Задан квадратный массив А из 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 минуту
помогите пожалуйста найти координаты верхнего левого угла квадрат, а то что-то вообще не догоняю как это делать...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 21:29     Задан квадратный массив А из N строк и N столбцов
Посмотрите здесь:

Дан двумерный массив А который состоит из m строк и n столбцов C++
Сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А C++
C++ Двумерный массив среднее арифметическое элементов и сумм строк,столбцов
Дан массив содержащий m строк и n столбцов. Определить количество чисел массива, значения которых нечетное C++
C++ Дан двумерный массив, содержащий 12 строк и 14 столбцов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
15.12.2012, 23:43     Задан квадратный массив А из N строк и N столбцов #2
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;
}
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
19.12.2012, 00:06  [ТС]     Задан квадратный массив А из N строк и N столбцов #3
Если ввести размеры матрицы 2.36 , то программа выдаст квадрат два на два и зависнет, что надо сделать , чтобы при вводе нецелых чисел выдавалась ошибка?. Подскажите пожалуйста)
Nikkun
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 25
20.12.2012, 10:40  [ТС]     Задан квадратный массив А из N строк и N столбцов #4
я саму переменную сделал дабл, создал еще одну инт и присвоил ей значение первой
а потом задал условие сравнить их, если они не равны -> ошибка . Прога выдаёт ошибку
1>laba5.obj : error LNK2019: ссылка на неразрешенный внешний символ "bool __cdecl search(int * *,int,int,double,double)" (?search@@YA_NPAPAHHHNN@Z) в функции _main
Подскажите пожалуйста, как исправить ?)
Yandex
Объявления
20.12.2012, 10:40     Задан квадратный массив А из N строк и N столбцов
Ответ Создать тему
Опции темы

Текущее время: 00:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru