Хелпикс

Главная

Контакты

Случайная статья





Задание 5.4. Генерация, вывод и поиск в двумерном массиве



Задание 5.4. Генерация, вывод и поиск в двумерном массиве

10.Индивидуальное задание

Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны.

Код программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"rus");

cout << "Введите m,n\n";

int m, n;

cin >> m >>n;

int** q = new int* [n];

for (int i = 0; i < n; i++)

{

   q[i] = new int[m];

}

int a, b;

cout << "Введите от\n";

cin >> a;

cout << "До\n";

cin >> b;

 

 

for (int i = 0; i < n; i++)

{

   for (int j = 0; j < m; j++)

   {

       q[i][j] = rand() % (b - a + 1) + a;

       cout << q[i][j] << "\t";

   }

   cout << "\n";

 

}

bool odin = false;

int sum = n;

for (int i = 0; i < n; i++)

{

   for (int j = 0; j < m; j++)

   {

       for (int z = 0; z < m; z++)

       {

           if (q[i][j] == q[i][z] && j!=z) { odin = true; break; }

       }

       if (odin == true) break;

   }

   if (odin == true) sum = sum - 1;

   odin = false;

 

}

cout << "\nОтвет\n"<<sum;

 

}
Контрольный пример:

Задание 5.5. Преобразования матриц

10.Индивидуальное задание

Даны действительные числа a1, …, а64. Получить действительную квадратную матрицу порядка 8, элементами которой являются числа a1, …, а64, расположенные в ней по схеме, которая приведена на рисунке.

Код программы:

#include <iostream>

using namespace std;

 

int main()

{

       int n;

       cin >> n;

       int mas[100][100];

       for (int i = 0; i < n; i++)

       {

                   for (int j = 0; j < n; j++)

                   {

                              if ((i + j) < n)

                              {

                                          mas[i][j] = 0.5 * (i + j + 1) * (i + j + 2) + ((i + j) % 2 == 0 ? -i : -j);

                              }

                              else

                              {

                                          int p = n - i - 1, q = n - j - 1;

                                          mas[i][j] = n * n + 1 - (0.5 * (p + q + 1) * (p + q + 2) + ((p + q) % 2 == 0 ? -p : -q));

                              }

                              cout << mas[i][j] << "\t";

                   }

                   cout << endl;

       }

       return 0;

}

Контрольный пример:

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.