помогите пожалуйста найти ошибку. программа должна нахождить начальный опорный план транспортной задачи методом минимального элемента. но что то не получается, а в чем ошибка не пойму. Спасибо Code: #include "stdafx.h" using namespace System; #include<stdio.h> #include <conio.h> int main(array<System::String ^> ^args) { int m,n,i,j; int *A= new int [m]; int *B= new int [n]; int** C; int s; int** matr; if( A==NULL){ Console::WriteLine("Не удалось выделить память!"); return 1;} if( B==NULL){ Console::WriteLine("Не удалось выделить память!"); return 1;} Console::WriteLine("Введите количество поставщиков (A)"); scanf("%d",&m); Console::WriteLine("Введите запасы поставщиков"); for(i=0;i<=m;i++){ printf("A[%d]= ",i); scanf("%d", &A[i]); } Console::WriteLine("Введите количество потребителей (B)"); scanf("%d",&n); Console::WriteLine("Введите заявки потребителей "); for(i=0;i<=n;i++){ printf("B[%d]= ",i); scanf("%d", &B[i]); } Console::WriteLine("Введите матрицу стоимости "); C = new int* [m]; for(i=0;i<=m;i++) C[i]= new int [n]; for (i=0;i<=m;i++) for(j=0;j<=n;j++){ printf("C[%d][%d]= ", i,j); scanf("%d", &C[i][j]); } for (i=0;i<=m;i++) for(j=0;j<=n;j++){ printf("C[%d][%d]= %d \n",i,j,C[i][j]); } matr= new int* [m]; for(i=0;i<=m;i++) matr[i]= new int [n]; if( matr==NULL){ Console::WriteLine("Не удалось выделить память!"); return 1;} int r,k; int min; min= 1000; for(i=0;i<=m;i++) for(j=0;j<=n;j++){ for(i=0;i<=m;i++) for(j=0; j<=n;j++){ if(C[i][j]< min) { min=C[i][j]; r=i; k=j; } } if (A[r]<B[k]) { matr[r][k]=A[r]; B[k]=B[k]-A[r]; A[r]=0; for(r=0;r<=m;r++){ C[r][j]=999; } } if(B[k]>A[r]) { matr[r][k]=B[k]; A[r]=B[k]-A[r]; B[k]=0; for(k=0;k<=n;k++){ C[i][k]=999; } } if(A[r]=B[k]) { matr[r][k]=B[k]; A[r]=B[k]-A[r]; B[k]=0; for(k=0;k<=n;k++){ C[i][k]=999; } } } Console::WriteLine("Опорный план: "); for (r=0;r<=m;r++) for(k=0;k<=n;k++){ printf("matr[%d][%d]= %d \n",r,k,matr[r][k]); } Console::WriteLine(" Значение целевой функции для этого опорного плана равно: "); printf("%d",s); _getch(); }