Форум программистов, компьютерный форум CyberForum.ru

Сортировка столбцов матрицы - C++

Восстановить пароль Регистрация
 
Olessia
 Аватар для Olessia
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 8
08.12.2012, 18:34     Сортировка столбцов матрицы #1
Было дано задание: "Написать программу обработки матриц.
Программа должна иметь текстовое меню, состоять из подпрограмм. предусмотреть
возможность ввода матрицы с клавиатуры и генерации случайных значений и вывод результата обработки на экран. Дано матрицу А порядка NxM. Отсортировать столбцы матрицы по возрастанию их наименьших элементов."

Но есть проблема:
error C2065: cout«: необъявленный идентификатор
error C2065: cin»w: необъявленный идентификатор

Насчет остальных пробелов в коде не знаю... Может что то еще не так...

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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "cstdlib"
using namespace std;
int n, m, w;
int** a = new int*[n];
int* min_a = new int[n];
int** gRandom(int** a, int N, int M);
int** gUser(int** a, int N, int M);
int* asoc(int* min_a, int m);
int* findMin(int** a, int* min_a, int N, int M);
void restruct(int* min_a, int** a, int m, int n);
void output(int** farr, int n, int m);
//=======================================================================
int** gRandom(int** a, int n, int m)//ф-я заполнения матрицы с клавиатуры
    {
    srand(time_t(0));
    for(int i = 0; i < n; i++)
    for(int j = 0; j < m; j++)
    a[i][j] = rand() % 100;
 
    return a;
    }
//========================================================================
int** gUser(int** a, int n, int m)//ф-я заполнения матрицы в случайном порядке
    { 
    for(int i = 0; i < n; i++)
    for(int j = 0; j < m; j++)
    »a[i][j];
 
    return a;
    }
//==========================================================================
 
int* findMin(int** a, int* min_a, int N, int M)//ф-я нахождения минимального числа в столбцах
{
for(int i = 0; i < N; i++)
{
int min = 1000;
for(int j = 0; j < M; j++)
{
if(a[i][j] < min) min_a[j] = a[i][j];
}
}
 
return min_a;
}
//===============================================================================================================================================
int* sortingstorage(int* min_a, int m)//ф-я расставляет минимальные элементы матрицы в порядке возрастания и запоминает в каком столбце они были.
{
int* loc = new int[m];
for(int i = 0; i < m; i++) loc[i] = i;
 
for(int i = 0; i < m; i++)
{
for(int j = i; j < m-1; j++)
{
if(min_a[j] > min_a[j+1])
{
int temp = min_a[j];
min_a[j] = min_a[j+1];
min_a[j+1] = temp;
 
temp = loc[j];
loc[j] = loc[j+1];
loc[j+1] = temp;
}
}
}
 
return loc;
}
//============================================================================
void restruct(int* min_a, int** a, int m, int n)// создание нового массивана основе данных полученых с ф-и sortingstorage
{
int** new_a = new int*[n];
for(int i = 0; i < m; i++) new_a[i] = new int[m];
 
for(int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
new_a[i][j] = a[min_a[i]][j];
}
}
 
output(new_a, n, m);
}
//============================================================================
void output(int** farr, int n, int m)//вывод конечной матрицы
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
«farr[i][j]«" ";
if(j == m-1) 
«"\n";
}
}
getch();
}
//============================================================================
void main()
    {
    int n, m, w;
    «"Enter n & m: ";
    »n»m;
 
    int** a = new int*[n];
    for(int i = 0; i < m; i++) a[i] = new int[m];
    int* min_a = new int[n];
    «"Choose a way to fill the array\n(1 - for random)\n(2 - for user): ";
    »w;
    if(w == 1) a = gRandom(a, n, m);
    if (w == 2) a = gUser(a, n, m);
 
    restruct(sortingstorage(findMin(a, min_a, n, m), m), a, m, n);
    output(a,n,m);  
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 18:34     Сортировка столбцов матрицы
Посмотрите здесь:

C++ сортировка столбцов матрицы
Сортировка столбцов матрицы C++
сортировка столбцов матрицы C++
Сортировка столбцов матрицы C++
C++ Сортировка столбцов матрицы
C++ Ошибка при вводе разного кол-ва строк и столбцов в матрицы. Динамич. матрицы/массивы
C++ Сортировка значений столбцов матрицы по убыванию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11824 / 6803 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 1
08.12.2012, 18:36     Сортировка столбцов матрицы #2
Это что, копипаст с сайта какого то?
C++
1
2
«"Choose a way to fill the array\n(1 - for random)\n(2 - for user): ";
    »w;
C++
1
2
«"Enter n & m: ";
    »n»m;
C++
1
2
3
«farr[i][j]«" ";
if(j == m-1) 
«"\n";
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.12.2012, 18:38     Сортировка столбцов матрицы #3
да. жесть. Зачем ты взял это задание? Ты же даже Hello World не напишешь!
Yandex
Объявления
08.12.2012, 18:38     Сортировка столбцов матрицы
Ответ Создать тему
Опции темы

Текущее время: 13:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru