Помогите! Неправильно высчитывает среднее значение, где ошибка в коде?

#include <iostream>
#include <math.h>
#include <iomanip>

using namespace std;
const int X=1;
const int Y=2;
class massiv{
public:
    int M[X][Y];
    double R;
    double sred_zn(int M[X][Y]);
    int rand_zn(int M[X][Y]);
    void show(int M[X][Y]);
};

void main(){
    setlocale(LC_ALL,"Russian");

 cout<<"Массив А:"<<endl;
    massiv A;
    A.M;
    A.rand_zn(A.M);
    A.show(A.M);
    cout<<endl;
    A.R=A.sred_zn(A.M);
    cout<<A.R;
    cout<<endl;


    system("pause");
}

void massiv::show(int M[X][Y]){
for(int i=0;i<X;i++){
    for(int j=0;j<Y;j++){
        cout<<setw(6)<<M[i][j];
    }
cout<<endl;
}

}

int massiv::rand_zn(int M[X][Y]){
for(int i=0;i<X;i++){
    for(int j=0;j<Y;j++){
        M[i][j]=rand()%10;
    }}
return M[X][Y];
}

double massiv::sred_zn(int M[X][Y]){
double R=0;
for(int i=0;i<X;i++){
    for(int j=0;j<Y;j++){
    R=R+M[i][j];
    }}
R=R/(double)(X+Y);
return R;
}

Интеренсно, только я один испытываю когнитивный диссонанс при просмотре этого кода? Не говоря уж про выход за границу массива.

Я в таких кодах, при наличии конкретно поставленной проблемы, в подробности стараюсь не вдаваться. :)

Но ты же все равно видишь это.

Лом, ты не одинок )) Но объяснить человеку почему на его коде рвётся шаблон тебе, видимо, тоже в лом?

Да, Лому в лом XD
Есть умные книжки. Их толковые дядьки писали. Там всё разжевано. И про ООП, и про хороший стиль программирования.
Слава богу, ТС хоть оформление текста программы в посте поправил, а то вообще ничего не разберешь.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.