#include <iostream>
using namespace std;
int main () {
int j=0;
int a[4];
for (int i=1000; i<9999; i++)
{
a[1]=i/1000;
a[2]=i/100%10;
a[3]=i/10%10;
a[4]=i%10;
if ((!(a[3]/a[4])) && (!(a[1]/a[2]))) j++;
}
cout<<j;
return 0;
}
Задача с прошедшей всероссийской олимпиады по математике. Написал программу, дабы проверить, верный ли я ответ получил днём на самой олимпиаде. А компилить не хочет.. кто знает на каком основании?) Сама задача выглядит так: Сколько существует четырёхзначных чисел, у котрых цифра десятков получается из цифры единиц, умноженной на целок число, а цифра тысяч получается из цифры сотен, умноженной на целое число?) Знающие люди, помогите пожалуйста =)
Во-первых у вас неправильно указан размер массива, вместо a[4], должно быть a[5]. (нумерация в си с нуля, так что массив будет в вашем случае от 0..3)
Во-вторых у вас совершенно неправильный if, надо смотреть не целую часть от деления, а остаток от деления + проверить, не является ли цифра нулем.