Анастасия, Вам нужно поменять местами строки 60 и 61. Сейчас программа ищет только одну пару чисел, а по условию нужно выводить их все, т.к. вывод сообщения в Memo1 произойдет только после прохода двух циклов for (для параметров i и j)
Если хотите улучшить программу: можно добавить проверку на тот случай, если ни одной подходящей пары не будет найдено.
Можно еще в StringGrid'е оставить одну строку, т.к. остальные не используются, за это отвечает свойство RowCount
Мемо1 в начале процедуры желательно очистить от сообщений, Memo1.Lines.Clear; если только Вы не хотите хранить всю историю работы программы.
Объяснение:
Какой раз уже пишу, и не устану писать на далее.. Ребят уточняйте на каком языке программирования нужно написать. Это вам же на руку. Так как если вы не уточняете, вам потом всё равно придётся изменять под нужный вам язык.
Для примера напишу на С++
//Генерируем массив для n элементов и назовём его А
int sum = 0; //Создаём переменную сумма
for(int i = 0; i<n; i++){
if( (A[i]%8) == 0){
sum+=A[i];
}
}
//Запустили цикл, по всех элементах массива, и смотрим если число делиться на 8 нацело, тогда записываем его в суму, иначе, не делаем ничего
cout << "sum: " << sum; // Выводим сумму.