Мне нужно сделать выход по нажатию определенной кнопки, как сделать?
int main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
while (1)
{
int x, y, Xk, Xn, sum = 0, k, count = 0;
bool find = false;
cout << "Введите размерность массива (x, y): ";
while (!(cin >> x) || (cin.peek() != '\n' || !(x>0))) //проверка на корректность ввода
{
cin.clear();
while (cin.get() != '\n');
cout << "Введено недопустимое значение. Повторите попытку." << endl;
}
while (!(cin >> y) || (cin.peek() != '\n' || !(y>0))) //проверка на корректность ввода
{
cin.clear();
while (cin.get() != '\n');
cout << "Введено недопустимое значение. Повторите попытку." << endl;
}
cout << "Введите диапазон чисел, для заполнения массива (Xn, Xk): ";
while (!(cin >> Xn) || (cin.peek() != '\n')) //проверка на корректность ввода
{
cin.clear();
while (cin.get() != '\n');
cout << "Введено недопустимое значение. Повторите попытку." << endl;
}
while (!(cin >> Xk) || (cin.peek() != '\n')) //проверка на корректность ввода
{
cin.clear();
while (cin.get() != '\n');
cout << "Введено недопустимое значение. Повторите попытку." << endl;
}
int **mas = new int*[x];//создание массива
for (int i = 0; i < x; i++)
mas[i] = new int[y];
cout << "Начальный массив => " << endl;
for (int i = 0; i < x; i++) //заполнение массива и вывод
{
for (int j = 0; j < y; j++)
{
mas[i][j] = (rand() % Xk) + Xn;
cout << mas[i][j] << " ";
}
cout << endl;
}
cout << "Введите K: ";
while (!(cin >> k) || (cin.peek() != '\n')) //проверка на корректность ввода
{
cin.clear();
while (cin.get() != '\n');
cout << "Введено недопустимое значение. Повторите попытку." << endl;
}
for (int i = 0; i < x; i++) //заполнение массива и вывод
{
for (int j = 0; j < y; j++)
{
if (i + j == k)
{
sum += mas[i][j];
find = true;
count++;
cout << "Элемент с индексом [" << i << "]+[" << j << "]=" << k << " к сумме добавил " << mas[i][j] << endl;
}
}
}
if (find == true)
cout << "Сумма " << count << " элементов для которых [i]+[j]=" << k << " равна " << sum << endl;
else
cout << "Таких элементов для которых [i]+[j]=" << k << " нет" << endl;
}
}
На вопрос в комментарии
Вот так? While ( c != 0) { kod cout << "Для завершение работы программы нажмите 0" cin >> c; } cout << "Текст"; return 0;
Вот так правильно будет?
Нет, потому что cin>>c
считывает символ. А он не 0
, а '0'
.
Так что правильно
char c = '0';
while( с != '0')
{
// Работаем
cout << "Для продолжения работы введите 0: ";
cin >> c;
}
И учтите, что cin >> c
требует не только нажать клавишу скажем с 0, но и потом нажать Enter.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как перебрать последовательность букв в цикле? каждую последовательность нужно иметь возможность получить, зная номер позиции
Что может означать операция i = i & (i+1) в реализации дерева отрезков?
Здравствуйте! У меня есть задание написать дочерний класс Треугольник от класса УголКласс Угол уже готов, но у меня есть задание: имея класс...