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

Матрица_формирование новой матрицы - C++

Восстановить пароль Регистрация
 
druger
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 57
12.02.2012, 12:48     Матрица_формирование новой матрицы #1
Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью mxn. Прога в каждой строке определяет наименьший элемент и его индексы и формирует из этих чисел матрицу, расположив в первом её столбце наименьшие элементы строк, а во 2 и 3 столбцах их индексы.
Я не уверен во 2 функции. Мне кажется у меня там полный бред. Помогите разобраться. И если есть ещё какие-то недочёты, пожайлуста укажите что не так
Код
#include <iostream.h>
#include <conio.h>

void MinElement (int A[][M];int n; int m; int &imin; int &jmin)
{
for (int i=0; i<n); i++)
   {
   int min=A[i][0];
   for (j=0; j<m; j++)
     {
     if (min>a[i][j])
       {
       min=A[i][j];
       imin=i;
       jmin=j;
}  } } }

void NewMatr (int B[][3]; int n)
 {
 for (int x=0; x<n; x++)
 B[x][o]=min;
 for (int x=0; x<n; x++)
 for (int y=1; y<2; y++)
 B[x][2]=imin;
 B[x][3]=jmin;
 }
void input (int A[][M])
 {
 cout<<"vvedite matricy N*M"<<endl;
 for (int i=0; i<N; i++)
 for (int j=0; j<M; j++)
 cin>>A[N][M];

void output (int B[][3])
 {
 for (int x=0; x<N; x++)
 for (int y=0; y<M; y++)
 cout<<B[N][3]<<endl;

void main ()
 {
 clrscr ();
 int A[N][M], B[N][3];
 input(A);
 cout<<endl;
 cout<<"min,imin,jmin"<<endl;
 MinElement(A,n,m,imim,jmin);
 cout<<"Matr B"<<endl;
 output (B);
 getch();
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2012, 12:48     Матрица_формирование новой матрицы
Посмотрите здесь:

C++ На главной диагонали новой матрицы разместить элементы заданного столбца исходной матрицы
Матрицы[макс. элементы, получение новой матрицы] C++
Создание Новой переменной! C++
Построение новой матрицы по части заданой матрицы C++
Функция формирования новой матрицы C++
Символ новой строки C++
C++ получение новой матрицы
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
13.02.2012, 10:26     Матрица_формирование новой матрицы #2
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 <time.h>
#define M 3
#define N 3
// заполнить массив
void Set(int myarray[][N]){
    for(int i = 0;i < M; ++i){
        for(int j = 0;j < N; ++j){
            myarray[i][j] = 1 + rand() % 100;
            }}}
// вывести на экран массив
void Out(int myarray[][N]){
        for(int i = 0;i < M; ++i){
            std::cout <<  "\n\n";
           for(int j = 0;j < N; ++j){
     std::cout << myarray[i][j] << "\t";}
        }}
//  минимум num строки
void minOut(int myarray[][N],int num){
    int min = myarray[num][0];
    int ind_i = 0;
    int ind_j = 0; 
        for(int i = 0;i < M; ++i){
            std::cout <<  "\n";
           for(int j = 0;j < N; ++j){
               if(min > myarray[num][j]){
     min = myarray[num][j];
             ind_i = num;// для номера строки
             ind_j = j;}}// для номера столбца
        }
std::cout << min <<"\t" << ind_i << "\t" << ind_j;
}
int main()
{   srand(unsigned( time(NULL)));
int arr[M][N];
Set(arr);
std::cout <<"\nBase matrix :" ;
Out(arr);
std::cout <<"\n\n\nNew matrix :" ;
// заполняем каждый столбец 
// 1 столбец    минимальными значениями
//   2 и 3  индексами . например arr[0][0] 2 столбец - 0  3 столбец - 0
for(int i = 0;i < M; ++i){
    minOut(arr,i) ;
}
std::cout << "\n\n\n";
system("pause");
}
druger
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 57
13.02.2012, 20:08  [ТС]     Матрица_формирование новой матрицы #3
MrCold, а можно как-нибудь по проще написать
Yandex
Объявления
13.02.2012, 20:08     Матрица_формирование новой матрицы
Ответ Создать тему
Опции темы

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