Решаю задачу( условие в первой строке, -комментарий) и наткнулся на то,что не получается передать в функцию указатель на вектор и разыменовать его. Кто сталкивался с таким же - не пройдите мимо и не останьтесь равнодушны, а кто просто шарит - не останьтесь равнодушны. Спасибо !
//для двумерного массива вещественных чисел в куче определить вектор максимальных элементов по строкам. вектор разместить в куче
#include<stdio.h>
#include"vector"
#include<clocale>
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
void sort(int size_i, int size_j, double** arr, vector<double>& pv)
{ //цикл нахождения максимального элемента для каждой строки
for(int i = 0; i<size_i; i++)
{
double max = arr[i][0];
for(int j; j<size_j; j++)
{
if(max < arr[i][j])
{
max = arr[i][j];
}
}
//запись найденного элемента в конец вектора
pv.push_back(max);
}
}
int main()
{
srand(time(NULL));
int size_i, size_j;
cout<<"enter number of rows: ";
cin>>size_i;
cout<<"enter number of collums: ";
cin>>size_j;
cout<<endl;
double** arr = new double*[size_i];
//цикл выделения непрерывного блока памяти для каждого указателя
for(int i = 0; i<size_i; i++)
{
arr[i] = new double[size_j];
}
//цикл заполнения двумерного массива вещественными цислами
for(int i = 0; i<size_i; i++)
{
for(int j = 0; j<size_j; j++)
{
arr[i][j] = (double)(rand() % 100 + 100)/100;
}
}
//цикл вывода массива на экран
for(int i = 0; i<size_i; i++)
{
for(int j = 0; j<size_j; j++)
{
cout<<arr[i][j]<<"\t";
}
cout<<endl;
}
//
vector<double>* pv = new vector<double>();
sort(size_i, size_j, arr, pv);
cout<<endl;
for(size_t i = 0; i<pv->size(); i++)
{
cout<<*pv[i]<<endl;
}
for(int i = 0; i<size_i; i++)
{
delete[] arr[i];
}
delete[] arr;
return 0;
}