?>
C++. В общем нужна с кодом. Дано натуральное число n и целочисленный квадратный массив размера nхn. Найти номера строк, элементы которых образуют симметричные последовательности (палиндромы Сформировать из этих строк новый массив и удалить их из начального массива. Решить задачу, пользуясь статическими массивами. Все что удалось родить: #include using namespace std; int main() { double a[20][20]; int n; cout << "n: "; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> a[i][j]; } } cout << "massive: " << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << a[i][j] << "\t"; } cout << endl; } bool isPalindrom = true; for (int i = 0; i < n; i++) { isPalindrom = true; for (int j = 0; j < n / 2 && isPalindrom; j++) { if (a[i][j] != a[i][n - 1 - j]) { isPalindrom = false; } } if (isPalindrom) { cout << "Stroka s indeksom " << i << " is Palindrom" << endl; } else { cout << "Stroka s indeksom " << i << " isn`t Palindrom" << endl; } } bool issPalindrom = true; for (int i = 0; i < n; i++) { issPalindrom = true; for (int j = 0; j < n / 2 && issPalindrom; j++) { if (a[j][i] != a[n - 1 - j][i]) { issPalindrom = false; } } if (issPalindrom) { cout << "Stolb s indeksom " << i << " is Palindrom" << endl; } else { cout << "Stolb s indeksom " << i << " isn`t Palindrom" << endl; } } } Я смог из массива удалить 1 строку, будь лишь 1 палиндром, но если их больше, то ничего не выходит. Поэтому ту часть кода я удалил.
Ответы
Решение на c++:
#include <iostream>
#include <ctime>
int main()
{
int N, i, a, b, k1 = 0, k2 = 0, s1 = 0, s2 = 0;
int A[10000];
std::cin >> a >> b >> N;
srand(time(0));
for (i = 0; i < N; i++)
{
A[i] = rand()%(b-a+1)+a;
if (A[i] < 50)
{
k1++;
s1 += A[i];
}
else
{
k2++;
s2 += A[i];
}
std::cout << A[i] << " ";
}
std::cout << std::endl << ((k1 == 0) ? 0 : (s1*1./k1)) << " ";
std::cout << ((k2 == 0) ? 0 : (s2 * 1. / k2)) << " ";
return 0;
}