Код:
//---------------------------------------------------------------------------
#include <iostream.h>
#include<conio.h>
#include<stdio.h>
#include <iomanip.h>
#include <windows.h>
#include <winuser.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
char* rus(const char* text)
{char *bufRus=new char[strlen(text)];
CharToOem(text, bufRus);
return bufRus;}
int main(int argc, char* argv[])
{int **matrix, **matrix1, **smej, *mat, str[30], n=0, m=0, i=0, j=0, mg=0, t=0, y=0, k=0, g=0, v=0, q;
cout<<rus("Граф или орграф? Если граф, введите 0, если же орграф, то 1.")<<endl;
cin>>v;
cout<<rus("Введите количество остановок: ");
cin>>n;
cout<<rus("Введите количество маршрутов: ");
cin>>m;
for (i = 0; i < m; i++) {
cout<<rus("Введите количество остановок в ")<<i+1<< rus(" маршруте: ");
cin>>str[i];
t=str[i]+t-1;
g=g+str[i];}
mat=new int[g];
for (i = 0; i < m; i++){
cout<<rus("Остановки ")<<i+1<<rus("-ого маршрута через пробел")<<endl;
for (j = 0; j < str[i]; j++) {cin>>mat[y];y++;}}
matrix1=new int*[2];
for(i=0;i<2;i++)
matrix1[i]=new int[t];
matrix1[0][0]=mat[0]; matrix1[1][0]=mat[1];
mg=str[0]-1;
for (j=1; j<t; j++)
{i=0; if (j==mg){k++; matrix1[i][j]=mat[j+k]; matrix1[i+1][j]=mat[j+1+k];mg=str[k]-1+mg;}
else { matrix1[i][j]=mat[j+k]; matrix1[i+1][j]=mat[j+k+1];}}
cout<<rus("Матрица инцедентности вершин ребрам")<<endl;
for(int i=0; i<2; i++){
for(int j=0; j<t; j++){
cout<<setw(4)<<matrix1[i][j];}
cout<<"\n\n";}
matrix=new int*[n];
for(i=0;i<n;i++)
matrix[i]=new int[t];
cout<<rus("Матрица смежности вершин ")<<endl;;
smej=new int*[n];
for(i=0;i<n;i++)
smej[i]=new int[n];
if (v==0) {cout<<rus("графа")<<endl;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){ smej[i][j]=0;
for(int x=0; x<1; ++x){
for(int b=0; b<t; b++){
if (i+1==matrix1[x][b] && j+1==matrix1[x+1][b]) {smej[i][j]=1;}
if (j+1==matrix1[x][b] && i+1==matrix1[x+1][b]) {smej[i][j]=1;}}}}}}
if (v==1) {cout<<rus("орграфа")<<endl;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){ smej[i][j]=0;
for(int x=0; x<1; ++x){
for(int b=0; b<t; b++){
if (i+1==matrix1[x][b] && j+1==matrix1[x+1][b]) {smej[i][j]=1;}}}}}}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
cout<<setw(4)<<smej[i][j];}
cout<<"\n\n";}
cout<<rus("Матрица инцидентности ")<<endl;
if (v==0) {cout<<rus("графа")<<endl;
for(int j=0; j<t; j++){
for(int i=0; i<n; i++){matrix[i][j]=0;
for(int x=0; x<2; ++x){if (i+1==matrix1[x][j]){matrix[i][j]=1;} }}}}
if (v==1) {cout<<rus("орграфа")<<endl;
for(int j=0; j<t; j++){
for(int i=0; i<n; i++){matrix[i][j]=0;
for(int x=0; x<1; ++x){if (i+1==matrix1[x][j]){matrix[i][j]=1;} }
for(int x=1; x<2; ++x){if (i+1==matrix1[x][j]){matrix[i][j]=-1;} }}}}
for(i=0; i<n; i++){
for(j=0; j<t; j++){cout<<setw(4)<<matrix[i][j];}
cout<<"\n\n";}
system("pause");
return 0;}
________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.