Изначально имел код который выводил матрицу.
Я делал 2 столбца по 3 числа в диапазоне от 1 до 6.
Потом начал экспериментировать что бы посмотреть что будет
Изначально было int a[N][M]; cin >> a[i][j]; cout << a[i][j];
Я убрал [M],[j]
и в итоге получаются значения
2 2 2
4 4 4
Я думаю происходит следующие
a[N] = a[2]
i<=3 j<=2
i=1
j=1 Пишу число 1 a[i] = {1 , Место для второго числа }
j=2 Пишу число 2 a[i] = {2 , Место для второго числа } (Число 1 перезаписало в число 2)
i=2
j=1 Пишу число 3 a[i] = {2,3}
j=2 Пишу число 4 a[i] = {2,4}(Число 3 перезаписало в число 4)
Так как a[i] = a[2] Но a[2]={2,4}
То i=3 не выполнится (массив уже полный)
Ну и дальше
i<=2 j<=3 a[2] = {2,4}
i=1 (взяли первый элемент массива)
j=1 2
j=2 2
j=3 2
i=2 (взяли 2 элемент массива)
j=1 4
j=2 4
j=3 4
Верно или я себе просто картинку подогнал что бы все сходилось?
Код:
#include <iostream>
using namespace std;
int main()
{
setlocale (LC_ALL, "RUS");
int i,j,N,M;
cout << "Введите количество строк матрицы " << endl;
cin >> N;
cout << "Введите количество столбцов матрицы" << endl;
cin >> M;
int a[N];
cout << "Введите числа матрицы" << endl;
for (i=1;i<=M;i++){
for(j=1;j<=N;j++){
cin >> a[i];
}
}
cout << "Ваша матрица \n" ;
for (i=1;i<=N;i++){
for(j=1;j<=M;j++){
cout << a[i] <<"\t";
}
cout << endl;
}
return 0;
}
Даже если у вас скомпилируется GNUсное :) int a[N];
, то вы все равно делаете ерунду - просто переписываете одни и те же элементы массива...
Опустим то, что M
и N
могут быть разными и вы можете выскочить за границы массива. И даже то, что элементы массива нумеруются с 0.
Вот только если все это опустить и не обращать внимания - то да, вот тут
for (i=1;i<=M;i++){
for(j=1;j<=N;j++){
cin >> a[i];
}
}
вы просто N
раз переписываете a[i]
элемент, затирая то, что было введено ранее.
А тут
for (i=1;i<=N;i++){
for(j=1;j<=M;j++){
cout << a[i] <<"\t";
}
cout << endl;
}
вы выводите
a[1] a[1] a[1] ... (M раз)
a[2] a[2] a[2] ... (M раз)
a[3] a[3] a[3] ... (M раз)
....
a[N] a[N] a[N] ... (M раз)
(Напомню еще раз - в вашем массиве нет элемента a[N]
).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Есть форма, валидация происходит через плагин jquery validation plugin
На странице есть кнопки которые определенным образом фильруют картинкиПо нажатию одной из 4 кнопок, срабатывает фильтр и несколько картинок...