Помогите найти ошибку

Berserkus

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<windows.h>
#include<iomanip>
 
int r,i,j,n,im,jm,p,m,k=0,k1,k2,n1;
float s, t, arr[10][10]/*pochatkova*/,a[20][20]/*tumchasova*/,b[10], sum, x[10], kst;
int res=0;
struct ant
{
    int matr;
    int matrrand;
    int per;
    int alg;
}; 
 
 
 
int matr()
{
    do
    {
        cout<<"Введить количество рядков:";
        cin>>n;
        cout<<"Введить количество стовпцов:";
        cin>>n;
        randomize();
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
                a[i][j]=random(10);
        }
        cout<<"Матрица имеет вид:\n";
        for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                cout<<a[i][j]<<"\t";
            cout<<endl;
        }
        cout<<"Для возвращения в главное меню нажмите любую клопку";
    }while(r==1);
    getch();
}
 
 
 
int matrrand()
{
    do
    {
        cout<<"\n Vved rozm matr";
        cin>>n;
        cout<<"\n Vved elem matr";
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                cin>>arr[i][j];
        
        cout<<"Array:\n";
        for(i=1;i<=n;i++)
        { for(j=1;j<=n;j++)
                cout<<setw(7)<<setiosflags(ios::fixed) <<setprecision(2)<<arr[i][j];
            cout<<"\n";
        }
    }while(r==2);
    getch();
}
 
 
 
int per()
{
    do
    {
        cout<<"Матрица имеет вид:\n";
        for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                cout<<a[i][j]<<"\t";
            cout<<endl;
        }
    }
    while(r==3);
    getch();
}
 
 
 
int alg()
{
    do
    {
        cout<<"obernena Array:\n";
        n1=2*n; 
        for(i=1;i<=n;i++) 
            for(j=1;j<=n1;j++)
                if (j<=n) a[i][j]=arr[i][j]; 
                else if (j==(n+i)) a[i][j]=1;
                else a[i][j]=0; 
        for(i=1;i<=n;i++) 
        { k=i;s=a[i][i]; 
            for(j==(i+1);j<=n;j++) 
            {t=a[j][i]; 
                if (fabs(s)<fabs(t)) { s=t;k=j;}
            }
            for(j=i;j<=n1;j++)
            { t=a[k][j];a[k][j]=a[i][j];a[i][j]=(float)t/s;}
            for(k=1;k<=n;k++)
                if (k!=i) for(j=n1;j>=1;j--)
                    a[k][j]=a[k][j]-a[i][j]*a[k][i];} 
        for(i=1;i<=n;i++) 
            for(j=1;j<=n;j++) 
                arr[i][j]=a[i][j+n];
        for(i=1;i<=n;i++)
        { for(j=1;j<=n;j++) 
                cout<<setw(7)<<setiosflags(ios::fixed) <<setprecision(2)<<arr[i][j];
            cout<<"\n";
        } 
    }while(r==5);
    getch();
}
 
 
int vec()
{
    do
    {
        cout<<"enter count members of vector b:";
        for(i=1;i<=n;i++)
            cin>>b[i];
        cout<<"\n Rezylt \n";
        //rezultat mnogennj matr na B 
        for(int i=1; i<=n; i++) 
        { 
            x[i]=0; 
            for(int j=1; j<=n; j++) 
            { 
                x[i]+=arr[i][j]*b[j]; 
            } 
        } 
        for(int i=1; i<=n; i++) 
        { 
            cout<< x[i] <<endl;
        }
    }
    while(r==6);
    getch();
}
 
//главное меню
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int r;
    do
    {clrscr();
        cout<<"Головне меню\n1-Создание матрицы рандомом";
        cout<<"\n2--Создание матрицы без рандома\n3-Перегляд матрицы\n4-Поиск элементов обратной матрицы";
        cout<<"\n5-Умножение вектора на матрицу\n6-Выход";
        cout<<"\nВкажить режим: ";
        cin>>r;
        switch (r)
        {
        case 1:{matr();break;}
        case 2:{matrrand();break;}
        case 3:{per();break;}
        case 4:{alg();break;}
        case 5:{vec();break;}
        case 6:exit(1);
        }
    }
    while(1);
}
Буду благодарен)
1 ответ

Berserkus

for(i=1;i<=n;i++) for(j=1;j<=n;j++)
indexes start from `0` to `n-1`