let post = [90,400,110];
let potr = [140,300,160];
let n =3;
let m =3;
let vir = m+n-1;
let tarif = [
  [ 2, 5, 2],
  [ 4, 1, 5],
  [ 3, 6, 8]
];
let tarif1= [
    [ 0, 0, 0],
    [ 0, 0, 0],
    [ 0, 0, 0]
  ];
let sum1 =0;
let sum2 =0;
for(let i = 0; i < post.length; i++){
    sum1 = sum1+ post[i];   
}
for(let i = 0; i < potr.length; i++){
    sum2 = sum2+ post[i];   
}
if(sum1 == sum2){
    console.log("Задача закрытая");
}
else if(sum1 != sum2){
    console.log("Задача открытая");
}


let tarif11 = tarif.slice();
let count =0;
let cel =0;
while (post.reduce((acc, val) => acc + val, 0) > 0 && potr.reduce((acc, val) => acc + val, 0) > 0) {
    let buffI = 0;
    let buffJ = 0;
    for (let i = 0; i < tarif.length; i++) 
    {
        for (let j = 0; j < tarif[i].length; j++) 
        {
            if(potr[j]> 0 && post[i]>0)
            {
                 buffJ =j; buffI=i;
            }
            if (post[buffI] >= potr[buffJ])
            {
                tarif1[buffI][buffJ] = potr[buffJ];             
                post[buffI] = post[buffI] - potr[buffJ];
                potr[buffJ] = 0;              
                count++;
            }
            else if (post[buffI] < potr[buffJ] && post[buffI] !== 0)
            {
                potr[buffJ] = potr[buffJ] - post[buffI];
              
                tarif1[buffI][buffJ] = post[buffI];
                post[buffI] = 0;
             
                count++;
            }
        }
    }
}
for (let i = 0; i < tarif1.length; i++) 
{
    for (let j = 0; j < tarif1[i].length; j++) 
    {
       if(tarif1[i][j]!==0){
        cel =cel+  tarif1[i][j]*tarif11[i][j];
       }
    }
}
if(count == vir){
    console.log("опорный план вырожденный");
}
else{
    console.log("опорный план невырожденный");
}
console.log("Целевая функция = " + cel);
console.log("Матрица совершенных поставок:");
for (let i = 0; i < tarif1.length; i++) {
    console.log(tarif1[i].join(" \t "));
}
console.log();

function handleFile() {
    const fileInput = document.getElementById('csvFileInput');
    const file = fileInput.files[0];
    const reader = new FileReader();
  
    reader.onload = function(event) {
      const content = event.target.result;
      processData(content);
    };
  
    reader.readAsText(file);
  }
function processData(content) {
    const lines = content.split('\n');
    const header = lines[0].split(';');
    let postt = [];
    let pottr = [];
    let tarif = [];
  
    for (let i = 1; i < lines.length; i++) {
      if (lines[i].trim() !== '') {
        const values = lines[i].split(';').map(Number);
        if (i === 1) {
            postt.push(values);
        } else if (i === 2) {
            pottr.push(values);
        } else {
            tarif.push(values);
        }
      }
    }
  
    console.log('Первый числовой массив:', postt);
    console.log('Второй числовой массив:', pottr);
    console.log('Двумерный массив:', tarif);

    let n=0;
    let m=0;
    for(let i =0; i< postt.length;i++){
        let s=0;
        for(let j =0; j<postt[i].length;j++ ){
              s++;
        }
        n =s;
    }
    for(let i =0; i< pottr.length;i++){
        let ss=0;
        for(let j =0; j<pottr[i].length;j++ ){
              ss++;
        }
        m =ss;
    }
    


    console.log(n);
    console.log(m);
    let potr=[];
    for(let i =0; i< m;i++){
        potr[i]=pottr[0][i];
    }
    console.log(potr);
    let post=[];
    for(let i =0; i< n;i++){
        post[i]=postt[0][i];
    }
    let tarif1= [];
    for(let i = 0; i < n; i++){
        tarif1[i] =[];
        for(let j=0; j<m; j++){
            tarif1[i][j]=0;
        }
    }
    console.log(post);
    console.log(tarif1);
    let tar = tarif.slice();
    console.log(tar);

}