М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

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 палиндром, но если их больше, то ничего не выходит. Поэтому ту часть кода я удалил.

👇
Открыть все ответы
Ответ:
gryzzly12
gryzzly12
23.12.2022

Решение на 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;

}

4,7(52 оценок)
Ответ:
anastasiarazumeeva
anastasiarazumeeva
23.12.2022
#include <ctime>
#include <iostream>

using namespace std;

int main(){
srand(time(NULL));
int n;
cout << "Vvedite N << endl;
cin >> n;
int arr[n];
int a,b;
cout << "Vvedite diapozon A-B cherez probel" << endl;
cin >> a >> b;
for (int i=0; i<n; i++) a[i]=rand()%b+a;
int s50 = 0;
int ss50 = 0;
int s = 0;
int ss = 0;
for (int i=0; i<n; i++) {
if (a[i]<50) {
s50+=a[i];
ss50++;
} else {
s+=a[i];
ss++;
}
}
cout << "Srednee arifmeticheskoe chisel menshe 50 ravno " << s50/ss50 << endl;
cout << "Srednee arifmeticheskoe chisel ostalnix elementov ravno " << s/ss;
return 0;
}
4,8(37 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ