Хелпикс

Главная

Контакты

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





for (int i=k+1; i<n; i++). if (*p>*(m+i)). temp = *p; *p = *(m+i); *(m+i) = temp;. cout << \n;. cout << \n Упорядоченный массив m[i],i=1, << n << :\n;. cout << (распечатка с исп



    for (int i=k+1; i<n; i++)

       if (*p>*(m+i))

       {

          temp = *p; *p = *(m+i); *(m+i) = temp;

       }

    p++;

}

cout << "\n";

cout << "\n Упорядоченный массив m[i],i=1," << n << ":\n";

cout << "(распечатка с использованием *(m+i))\n";

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

    cout << *(m+i) << ",";

cout << "\n Упорядоченный массив m[i],i=1," << n << ":\n";

cout << "(распечатка с использованием *(p+i))\n";

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

    cout << *(p+i) << ",";

}

Разберитесь и выпишите в тетрадь неверную конструкцию вывода массива с помощью указателей.

 

5 . Откомпилируйте и запустите предложенную программу сортировки строк матрицы в порядке возрастания сумм их элементов.

#include <iostream.h>

void main()

{

const int n=5; //Количество строк.

const int m=7; //Количество столбцов.

double array[n][m]; //Основной массив.

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

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

          array[i][j]=n-i; //Заполнение массива.

double *par[n]; //Массив указателей.

for (int i=0;i<n;i++) //Цикл перебора строк.

   par[i]=(double*)array[i];

//Печать массива через указатели.

cout << "\n До перестановки элементов массива указателей: ";

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

   { cout<< "\n строка " << i+1 <<": ";

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

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

   }

//Упорядочение указателей на строки массива.

double si,sk;

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

   { for (int j=0, si=0;j<m;j++)

          si+=par[i][j];

        for (int k=i+1;k<n;k++)

           { for (j=0,sk=0;j<m;j++)

                   sk+=par[k][j];

          if (si>sk)

             { double *pa=par[i];

                par[i]=par[k];

                 par[k]=pa;

                double a=si;

                       si=sk;

                sk=a;

                 }

          }

   }

//Печать массива через указатели.

cout << "\n После перестановки элементов массива:";

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

   { cout << "\n строка " << i+1 <<": ";

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

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

   }



  

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