Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2010, 15:58   #1
Арнис
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 18
Смущение Двумерный массив

подскажите как делать прогу.
Написать программу, интегрирующую случайный двумерный массив из 0 и 1 с помощью датчика случайных чисел RANDOM. Размер массива N*M и доля в нем нулей должна задаваться пользователем. Найти в созданном массиве максимальное количеством нулей примыкающих друг к другу по горизонтале и веритикале.
часть я уже сделал вот код:
Код:
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include<conio.h>
using namespace std; 
const int M=100;
const int N=2000;
int random (int N) {return rand() %N;}
void main(void)
{
	int i, j, a=0, b=1, n, m, A[M][N];
    cout<<"vvedite chislo strok m : ";
    cin>>m;
    cout<<"vvedite chislo stolbtsov n : ";
    cin>>n;
	for (i=0; i<m; i++)
		for (j=0; j<n; j++)
			A[i][j] = random (b-a+1)+a;
    printf ("Matritsa:\n");
		for (i=0; i<m; i++)
		{
			for (j=0; j<n; j++)
			printf("%2d", A[i][j]);
			printf("\n");
		}

}

Последний раз редактировалось Stilet; 12.07.2010 в 09:47.
Арнис вне форума Ответить с цитированием
Старый 11.07.2010, 19:50   #2
bpystep
Форумчанин
 
Регистрация: 25.02.2009
Сообщений: 180
По умолчанию

Код:
void search(int a[], int n, int m)
{
int poisk = 0;

for(int i = 0; i < m; i++)
{
	for(int j = 0; j < m; j++)
	{
		if(((a[i][j] == 0)&&(a[i+1][j] == 0))||((a[i][j] == 0)&&(a[i][j+1] == 0)))
		{
			poisk++;				
		}
	}
}
	return poisk;
}
Запомните, вы едете в Россию, поэтому когда компьютер попросит вас набрать пароль, наберите слово "Пароль"
bpystep вне форума Ответить с цитированием
Старый 12.07.2010, 00:50   #3
Арнис
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 18
По умолчанию

спасибо за помощь!
поставил код, но выдает 3 ошибки не могу понять в чем проблема
Код:
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include<conio.h>
using namespace std; 
const int M=100;
const int N=2000;
int random (int N) {return rand() %N;
void main(void)
{
	int i, j, a=0, b=1, n, m, A[M][N];
	cout<<"vvedite chislo strok m : ";
    cin>>m;
    cout<<"vvedite chislo stolbtsov n : ";
    cin>>n;
	for (i=0; i<m; i++)
		for (j=0; j<n; j++)
			A[i][j] = random (b-a+1)+a;
		printf ("Matritsa:\n");
			for (i=0; i<m; i++)
			{
				for (j=0; j<n; j++)
					printf("%2d", A[i][j]);
				printf("\n");
			}
}

void search(int a[], int n, int m)
{
	int poisk = 0;
	for(int i = 0; i < m; i++)
	{
		for(int j = 0; j < m; j++)
		{
			if(((a[i][j] == 0)&&(a[i+1][j] == 0))||((a[i][j] == 0)&&(a[i][j+1] == 0)))
			{
				poisk++;				
			}
		}
	}
	return poisk;
}
вот ошибки:
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(10) : error C2601: 'main' : local function definitions are illegal
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(29) : error C2601: 'search' : local function definitions are illegal
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(43) : fatal error C1004: unexpected end of file found

Последний раз редактировалось Stilet; 12.07.2010 в 09:48.
Арнис вне форума Ответить с цитированием
Старый 12.07.2010, 00:52   #4
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

int main
int search
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 12.07.2010, 00:57   #5
Арнис
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 18
По умолчанию

я нашел ошибку видно удалил одну вот такую кавычку }

Код:
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include<conio.h>
using namespace std; 
const int M=100;
const int N=2000;
int random (int N) {return rand() %N;}
int main(void)
{
	int i, j, a=0, b=1, n, m, A[M][N];
	cout<<"vvedite chislo strok m : ";
    cin>>m;
    cout<<"vvedite chislo stolbtsov n : ";
    cin>>n;
	for (i=0; i<m; i++)
		for (j=0; j<n; j++)
			A[i][j] = random (b-a+1)+a;
		printf ("Matritsa:\n");
			for (i=0; i<m; i++)
			{
				for (j=0; j<n; j++)
					printf("%2d", A[i][j]);
				printf("\n");
			}
}

int search(int a[], int n, int m)
{
	int poisk = 0;
	for(int i = 0; i < m; i++)
	{
		for(int j = 0; j < m; j++)
		{
			if(((a[i][j] == 0)&&(a[i+1][j] == 0))||((a[i][j] == 0)&&(a[i][j+1] == 0)))
			{
				poisk++;				
			}
		}
	}
	return poisk;
}
когда исправил, ошибок стало еще больше
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type

Последний раз редактировалось Stilet; 12.07.2010 в 09:49.
Арнис вне форума Ответить с цитированием
Старый 12.07.2010, 01:27   #6
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

int random (int N) {return rand() %N; }
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 12.07.2010, 01:34   #7
Арнис
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 18
По умолчанию

я уже нашел.
но выдает теперь 4 ошибки
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
C:\Documents and Settings\Администратор\Мои документы\информатика\Anton\laba1.c pp(35) : error C2109: subscript requires array or pointer type
Арнис вне форума Ответить с цитированием
Старый 12.07.2010, 02:33   #8
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

int search(int **a, int n, int m)
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 12.07.2010, 09:43   #9
Арнис
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 18
По умолчанию

спасибо заработало.
только вот я не пойму почему при запуске программы не выполняется функция поиска нулей?
Арнис вне форума Ответить с цитированием
Старый 12.07.2010, 09:50   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
почему при запуске программы не выполняется функция поиска нулей?
Может быть потому что ты ее нигде в main не вызываешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив.. uropb992 Помощь студентам 6 23.10.2010 01:40
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Двумерный массив Анжелика Помощь студентам 3 29.12.2008 21:23
Двумерный массив... Seriy8888 Паскаль, Turbo Pascal, PascalABC.NET 1 24.12.2008 21:26
Двумерный массив apetr Паскаль, Turbo Pascal, PascalABC.NET 2 30.11.2008 12:32