Анастасия, Вам нужно поменять местами строки 60 и 61. Сейчас программа ищет только одну пару чисел, а по условию нужно выводить их все, т.к. вывод сообщения в Memo1 произойдет только после прохода двух циклов for (для параметров i и j)
Если хотите улучшить программу: можно добавить проверку на тот случай, если ни одной подходящей пары не будет найдено.
Можно еще в StringGrid'е оставить одну строку, т.к. остальные не используются, за это отвечает свойство RowCount
Мемо1 в начале процедуры желательно очистить от сообщений, Memo1.Lines.Clear; если только Вы не хотите хранить всю историю работы программы.
Объяснение:
const int arrSize = 20;
int arr[arrSize];
// тут где-то его заполняем
...
int
pos = -1, // позиция
element = 5; // искомый элемент, например, равный 5
for (int i = 0; i < arrSize; i++)
if (arr[i] == element)
pos = i;
if (pos != -1)
std::cout << pos << std::endl;
else
std::cout << "Элемент не найден" << std::endl;