Member 12648914 Ответов: 1

Как решить ошибки в коде, приведенном ниже.


#include<iostream.h>
#include<ctime.h>
#include<cstdlib.h>
#include<fstream.h>


using name space std;
double prob()
{
	 return(static_cast<double>(rand())/RAND_MAX);
}

int main()
{
	int size=15;double density;
	cout<<"graph size?"<<endl;
	cin>>size;
	cout<<"graph density (0,1)?"<<endl;
	cin>>density;
	bool**graph;
	int**color;
	int**cost;
	srand(time(0));     //seed random number generator
	graph=new bool*[size];
	color=new int*[size];
	cost=new int*[size];
	for(int i=0;i<size;>	{
		graph[i]=new bool[size];
		color[i]=new int[size];
		cost[i]=new int[size];
	}
	for(int i=0;i			for(int j=1;j<size;++j)>
				  if(i==j)graph[i][j]=false;  //no loops
				  else   graph[i][j]=graph[i][j]=(prob()<density);>

	for(int i=0;i			for(int j=1;j<size;++j)>
				 if(graph[i][j]){
					 color[i][j]=color[i][j]=rand()%3;
					 cost[i][j]=cost[j][i]=prob()*30;
			}
	ofstream  outp("graph_data.txt");
	outp<<size<<"\n";
	for(int i=0;i<size;++i)>
		 for(int j=0;j<size;++j){>
			  if(graph[i][j])
			  outp <<i<<'\t'<<j<<'\t'<<cost[i][j]<<'\t'<<color[i][j]<<'\t';
		 }


	return 0;

}


Что я уже пробовал:

Я попытался скомпилировать его, но он дал синтаксические ошибки объявления.Объявления ошибок.

E.F. Nijboer

Пожалуйста, отредактируйте вопрос и добавьте некоторую разметку для вашего кода. Кроме того, добавьте сообщение об ошибке, которое дает вам компилятор, и выделите строку, в которой возникает ошибка.

Jochen Arndt

Было бы полезно знать точные сообщения об ошибках и на каких линиях они возникали.

jeron1

график[я][Дж]=граф[я][Дж]=(возм()плотность);

color[i][j]=color[i][j]=rand ()%3;

Здесь есть некоторая избыточность.

Philippe Mori

Пожалуйста, правильно отформатируйте свой код и поместите один оператор в строку. Как написано, код не имеет смысла (например, неполный оператор for и множество символов >).

1 Ответов

Рейтинг:
2

Patrice T

ошибка в этой строке (2 раза в коде):

for(int i=0;i			for(int j=1;j<size;++j)>

Не знаю, что вы собирались с этим делать:
color[i][j]=color[i][j]=rand()%3;


Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]