Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 5

Сформировать вектор из максимумов матрицы и упорядочить его по возрастанию

15.05.2015, 10:47. Показов 1905. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать алгоритм и написать программу на языке C++.
Задана матрица (двумерный массив) A размером N x М , состоящая из действительных элементов. Числа M и N вводятся с клавиатуры. Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел. Где это необходимо ввести квадратную матрицу. Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.

6. Найти сумму максимальных элементов каждого столбца матрицы и координаты максимумов. Сформировать вектор из максимумов и упорядочить его по возрастанию. Вывести на экран упорядоченный и неупорядоченный векторы, полученную сумму.

Помогите решить данную задачу, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2015, 10:47
Ответы с готовыми решениями:

Упорядочить строки матрицы по возрастанию максимумов их элементов
Добрый день! срочно нужна помощь в решении задачи: Дана целочисленная прямоугольная матрица. Определить: 1)количество отрицательных...

Получить массив В, состоящий из отрицательных элементов матрицы А, и упорядочить его по возрастанию
Дана целочисленная матрица А размером . Получить массив В, состоящий из отрицательных элементов матрицы А. Отсортировать массив В по...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов строк (использовать...

3
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
15.05.2015, 13:25
часика через 4 приду сделаю....если актуально будет

Добавлено через 1 час 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "iostream"
#include <ctime>  
#include "iomanip"
 
using namespace std;
 
int main()
{   
 setlocale(LC_ALL,"Rus");
 srand(time(0)); // генерация случайных чисел 
 int N,M,vibor;
 cout<<"Введите кол-во строк в матрице N=";
 cin>>N;
 cout<<"\nВведите кол-во столбцов в матрице M=";
 cin>>M;
 // объявление двумерного динамического массива
 float **ptrarray = new float* [N];      // строки в массиве   
  for (int count = 0; count < N; count++)        
    ptrarray[count] = new float [M];    //  столбцы 
 cout<<"\nВведите 0 если хотите вручную заполнить матрицу\n"
       "или любую другую цифру если хотите авто заполнние\n"
       "Выбор:";
 cin>>vibor;
  if(vibor!=0)
   {
    for (int i = 0; i < N; i++)     
     for (int j = 0; j < M; j++)             
         ptrarray[i][j]=rand() % 100;
   }
  else
   {
       cout<<"\nЗаполняйте матрицу.\n";
     for (int i = 0; i < N; i++)     
      for (int j = 0; j < M; j++)
        { cout<<"элемент:["<<i<<"]["<<j<<"]=";
          cin>>ptrarray[i][j];}
   }
  cout<<"\nВаша матрица.\n";
   for (int i = 0; i < N; i++)  {   
      for (int j = 0; j < M; j++)
          cout<<setw(3)<<ptrarray[i][j];
      cout<<endl;}
  // высвобождение памяти отводимой под двумерный динамический массив:   
  for (int count = 0; count < N; count++)       
     delete [] ptrarray[count]; 
 system("pause");
 return 0;
}
задание 6 вечером получиш вечером если не забуду, пора тепать за свет плотить
1
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 5
15.05.2015, 15:39  [ТС]
Спасибо, буду ждать.
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
15.05.2015, 20:21
Лучший ответ Сообщение было отмечено ololoyev57 как решение

Решение

координаты максимумов.
А что с ними делать вывести?

Добавлено через 1 час 32 минуты
полученную сумму.
Чего с кем?

Добавлено через 24 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "iostream"
#include <ctime>  
#include <vector>
#include<iterator>
 
#include "iomanip"
 
using namespace std;
 
int main()
{   
 setlocale(LC_ALL,"Rus");
 srand(time(0)); // генерация случайных чисел 
 int N,M,vibor,Max=-1000;
 cout<<"Введите кол-во строк в матрице N=";
 cin>>N;
 cout<<"\nВведите кол-во столбцов в матрице M=";
 cin>>M;
 // объявление двумерного динамического массива
 float **ptrarray = new float* [N];      // строки в массиве   
  for (int count = 0; count < N; count++)        
    ptrarray[count] = new float [M];    //  столбцы 
 cout<<"\nВведите 0 если хотите вручную заполнить матрицу\n"
       "или любую другую цифру если хотите авто заполнние\n"
       "Выбор:";
 cin>>vibor;
  if(vibor!=0)
   {
    for (int i = 0; i < N; i++)     
     for (int j = 0; j < M; j++)             
         ptrarray[i][j]=rand() % 100;
   }
  else
   {
       cout<<"\nЗаполняйте матрицу.\n";
     for (int i = 0; i < N; i++)     
      for (int j = 0; j < M; j++)
        { cout<<"элемент:["<<i<<"]["<<j<<"]=";
          cin>>ptrarray[i][j];}
   }
  cout<<"\nВаша матрица.\n";
   for (int i = 0; i < N; i++)  {   
      for (int j = 0; j < M; j++)
          cout<<setw(3)<<ptrarray[i][j];
      cout<<endl;}
cout<<endl<<endl;
   int *a=new int[N];                    //Буферный массив
for (int i = 0; i < N; i++) 
{a[i]=-1000;}
for (int k = 0;  k< N+1; k++){
     for (int i = 0; i < N; i++)  
         for (int j = 0; j < k;j++)
           {  
               if(ptrarray[i][j]>a[j])
                 {
                    a[j]=ptrarray[i][j];
                 }
           }
}    
 
vector<int> my_vector;   //создаем вектор
//vector<int>::iterator the_iterator;
cout<<"Неупорядочный вектор:\n";
    for (int i=0; i < N; i++) {   //заполнем буферным масивом
      my_vector.push_back(a[i]);
    }
 
 
    for (int i=0; i < N; i++) {   //выводим
      cout<<setw(3)<<my_vector[i];
    }
cout<<endl<<endl;
cout<<"Упорядочный вектор:\n";
vector<int> my_vec;    //создаем вектор который будет уподочным
    for (int i=0; i < N; i++) {   //заполнем буферным масивом
       my_vec.push_back(a[i]);
    }
for (int j=0; j < N-1; j++)    //Сортируем
 {for (int i=0; i < N-1; i++) {   
       if(my_vec[i]>my_vec[i+1] )
       {
          int temp=my_vec[i];
          my_vec[i]=my_vec[i+1];
          my_vec[i+1]=temp;
       }
    }
 }
    for (int i=0; i < N; i++) {   //выводим
      cout<<setw(3)<<my_vec[i];
    }
    cout<<endl<<endl;
  delete a; 
  // высвобождение памяти отводимой под двумерный динамический массив:   
  for (int count = 0; count < N; count++)       
     delete [] ptrarray[count]; 
 system("pause");
 return 0;
}
Добавлено через 34 секунды
Кроме тех 2 пунктов все сделанно!!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2015, 20:21
Помогаю со студенческими работами здесь

Сформировать вектор из средних геометрических столбцов матрицы и отсортировать его по возрастанию
Организуйте ввод элементов матрицы С размером 3х7. Элементы матриц рассчитать по формуле i * j * rnd(d * n) , где i - номер строки матрицы...

Нужно построить вектор B по матрице A и упорядочить его по возрастанию числа отрицательных слагаемых в сумме (упоридочение оформить подпрограммой)
Дана матрица А размерности NxN. Построить вектор B, i-ый компонент которого Bi=Σ(от j=1 до N)Aij, затем упорядочить вектор B по возрастанию...

Составить одномерный массив из элементов побочной диагонали исходной матрицы, и упорядочить его по возрастанию
С клавиатуры вводится вещественная матрица NxN (N&lt;=17). Составить одномерный массив из элементов побочной диагонали исходного массива и...

Сформировать вектор из сумм эл-тов строк матрицы и найти его среднее квадратическое.
Сформировать вектор из сумм эл-тов строк матрицы и найти его среднее квадратическое. Матрица задана ур-ем i*j*rnd(d*n) i=7 j=3 d=8 n=13...

Сформировать вектор столбец заполнив его эл-ми побочной диагонали M, при этом четные ячейки матрицы заменить 0
Сформировать вектор столбец заполнив его элементами побочной диагонали M, при этом четные ячейки матрицы заменить на 0.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru