Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 57
1

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

12.02.2012, 12:48. Показов 1083. Ответов 2
Метки нет (Все метки)

Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью 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();
 }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2012, 12:48
Ответы с готовыми решениями:

На главной диагонали новой матрицы разместить элементы заданного столбца исходной матрицы
У меня вот небольшой ступр, помогите, пожалуйста. Дана квадратная матрица действительных чисел D...

Процедура ввода квадратной матрицы, транспонирования матрицы и вывода новой матрицы
1.Написать программу с использование собственного модуля, который должен содержать процедуру ввода...

Построение новой матрицы по некоторой части заданной матрицы
В задании получить новую матрицу по анализу выделенной области исходной квадратной матрицы А...

Создать новую матрицу так, чтобы строки новой матрицы являлись столбцами исходной матрицы
Создать новую матрицу так,чтобы строки новой матрицы являлись столбцами исходной матрицы.(3...

2
870 / 768 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
13.02.2012, 10:26 2
Лучший ответ Сообщение было отмечено druger как решение

Решение

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");
}
1
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 57
13.02.2012, 20:08  [ТС] 3
MrCold, а можно как-нибудь по проще написать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2012, 20:08

Построение новой матрицы по части заданой матрицы
Доброго времени суток, уважаемые форумчане!:) Не могу реализовать свою идею, посдкажите как,...

Матрицы[макс. элементы, получение новой матрицы]
6. В данной квадратной целочисленной матрице порядка 17 указать индексы всех элементов с...

Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать....

получение новой матрицы
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу умножением элементов...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru