Найдите ошибку в коде с++. ошибку пишется 81 строкой, но у меня их всего 53
#include<conio.h>
#include<iostream>
#include<string.h>
#include<ctype.h>
#include<Windows.h>
//Вводити з клавіатури рядки, доки не буде введено 5 рядків,що починаються з будь-яких
//двох цифр.Вивести усі введені рядки та рядки, що відповідають вимогам завдання
//Відсортувати рядки. Вивести найкоротший рядок(рядки, якщо їх декілька).
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
const int k = 5, max = 50;
int i = 0, n = 0;
char yslov_number[k][max];
char m_number[k][max];
char number[max];
while ((i < k) && (cout << "Введите строку: ", cin.getline(number, max)))
{
strcpy_s(m_number[n], number);
if (isdigit(number[0]) && isdigit(number[1]))
{
strcpy_s(yslov_number[i], max, number);
i++;
}
else cout << "Слово не починається с двух чисел!" << endl;
}
cout << "Введенные строки: " << endl;
for (int i = 0; i < n; i++) cout << "Строка " << i + 1 << ": " << m_number[i] << endl;
cout << "\nСтроки по условию: " << endl;
for (int i = 0; i < k; i++) cout << "Строка " << i + 1 << ": " << yslov_number[i] << endl;
for (i = 1; i < k; i++) {
bool f = false;
for (int j = 0; j < k - i; j++) {
if (strcmp(m_number[j], m_number[j + 1]) > 0)
{
strcpy_s(number, max, m_number[j]);
strcpy_s(m_number[j], max, m_number[j + 1]);
strcpy_s(m_number[j + 1], max, number);
f = true;
}
}
if (!f) break;
}
cout << endl << "Отсортированный массив: " << endl;
for (i = 0; i < k; i++) {
cout << m_number[i] << endl;
}
system("pause>0");
return 0;
}
Answers & Comments
Ответ:
ну не знаю
вроде правильно
Объяснение: