Это часть программы,все вроде работает правильно,но почему то матрицы умножает не правильно,подскажите что не так. void __fastcall TForm1::Button2Click(TObject *Sender) { int a=0,z=0,m=0,g[10][10],i,j,c[10][10],b[10][10],k; ProgressBar1->Max=(TrackBar1->Position); for(int i=0;i<trackbar1->Position;i++) for(int j=0;j<trackbar1->Position;j++) { g[j]=0; for(int k=0;k<trackbar1->Position;k++) { g[j]+=b[j][k]*c[k]; } a+=StrToInt(StringGrid3->Cells[j]); z+=StrToInt(StringGrid2->Cells[j]); m+=StrToInt(StringGrid1->Cells[j]); StringGrid4->Cells[j]=FloatToStr(g[j]); Label4->Caption=IntToStr(m); Label5->Caption=IntToStr(z); Label6->Caption=IntToStr(a); ProgressBar1->Position++; Label7->Caption=(ProgressBar1->Position*100)/ProgressBar1->Max; } }
Знаю верный ответ Найти ответ на вопрос
Ключевые слова: ошибка с++, ProgressBar не работает С++, ошибка с2451 с++,
за 10р исправлю
Ответить
g[j]=0; g[j]+=b[j][k]*c[k]; - это двумерные массивы, должно быть вида g[ m ] [ n ]. g [j]=0; g [ i , j]+=b[j][k]*c[k , j] ;
Ответить