Почему код работает неправильно?

Компьютеры программирование С++ Visual Studio 2012

#include <stdio.h>
#include <iostream>
int m[10][10],j,i,k;

int main()
{k=10;
for( i=0; i<10; i++)
{
for(j=0;j<10;i++)
{
if((i+j)==10)
{ m[i][j]=k;
k--;}
else
m[i][j]=0;
}
}
for( i=0; i<10; i++)
{
for(j=0;j<10;i++)
{
std::cout << m[i][j];
if(j==9)
std::cout<<"\n";
}
}
}
Версия Visual Studio - 2012, выводит числа неправильно, в каком-то рандомном порядке, и виндовс говорит что программа работает неправильно, задача заключается в том что бы вывести матрицу 10х10, побочная диагональ - числа от 10 до 1, все остальные элементы матрицы - равны нулю.

Примечание:
изменил
"1. Индекс массива идёт 0..9 в Вашем случае.
То есть, if((i+j)==10) должно быть if((i+j)==9).
А остальное, вроди бы, правильное." как мне подсказали, и вообще ничего не выводит... сразу просто виндовс начинает ругаться
Ответы:
1. Индекс массива идёт 0..9 в Вашем случае.
То есть, if((i+j)==10) должно быть if((i+j)==9).
А остальное, вроди бы, правильное.
вот это for(j=0;j<10;i++) в коде встречается дважды, присмотритесь, i++ вместо j++, бесконечные циклы получаются


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.