Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
druger
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 57
#1

Функция формирования новой матрицы - C++

16.02.2012, 16:21. Просмотров 617. Ответов 1
Метки нет (Все метки)

Помогите составить функцию NewMatr, у меня она не правильная.
Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью mxn. Прога в каждой строке определяет наименьший элемент и его индексы и формирует из этих чисел матрицу, расположив в первом её столбце наименьшие элементы строк, а во 2 и 3 столбцах их индексы.
P.S.то что выделено жирным, эту функцию нужно составить
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
#include <iostream.h>
#include <conio.h>
 
void MinElement (int A[][m],int n, int m, int imin, int jmin)
{
int imin=0; int jmin=0;
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;
 }
int ** input (int &n, int &m)
 {
 cout<<"\n vvedite n,m elementov\n";
 cin>>n>>m;
 int i,j;
 int **A=new int *[n];
 for (i=0;i<n;i++)
  A[i]=new int[m];
  cout<<"\n vvedite"<<n<<" strok po "<<m<<" elementam\n";
   for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    cin>>A[i][j];
 return A;
 }
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2012, 16:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция формирования новой матрицы (C++):

Функция формирования массива - C++
Дано натуральное число n. Разработать функцию формирования массива, элементами которого являются цифры числа n.

Алгоритм для формирования матрицы - C++
Необходимо сформировать матрицу по заданному образцу. Не могу придумать алгоритм. Буду очень благодарен за помощь. 1 1 1 . . . 1 1 1 0...

Программа формирования квадратной матрицы - C++
Напишите программу формирования квадратной матрицы в c++ Такой вид: 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5...

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

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

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

1
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
16.02.2012, 18:04 #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
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
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
void
print_matrix(int** matrix, size_t lines, size_t cols)
{
    size_t i, j;
    for(i = 0; i < lines; ++i)
    {
        for(j = 0; j < cols; ++j)
            printf("%5d ", matrix[i][j]);
        putchar('\n');
    }
}
 
void
get_matrix(int** matrix, size_t lines, size_t cols, FILE* fp)
{
    size_t i, j;
    for(i = 0; i < lines; ++i)
        for(j = 0; j < cols; ++j)
            scanf("%d", &matrix[i][j]);
}
 
int**
alloc_matrix(size_t lines, size_t cols)
{
    int** matrix;
    size_t i;
    matrix = malloc(lines * sizeof(int*));
    for(i = 0; i < lines; ++i)
        matrix[i] = malloc(cols * sizeof(int));
    return matrix;
}
 
void
free_matrix(int** matrix, size_t lines)
{
    size_t i;
    for(i = 0; i < lines; ++i)
        free(matrix[i]);
    free(matrix);
}
 
size_t min_element_index(int* line, size_t length)
{
    size_t i;
    size_t idx = 0;
    int min = INT_MAX;
    for(i = 0; i < length; ++i)
        if(line[i] < min)
        {
            min = line[i];
            idx = i;
        }
    return idx;
}
 
void
fill_out_matrix(int** in, int** out, size_t lines, size_t cols)
{
    size_t i, j;
    for(i = 0; i < lines; ++i)
    {
        j = min_element_index(in[i], cols);
        out[i][0] = in[i][j];
        out[i][1] = i;
        out[i][2] = j;
    }
}
 
int
main()
{
    size_t m;
    size_t n;
    int** in_matrix;
    int** out_matr;
    
    printf("%s", "Enter dimensions:\n#lines=");
    scanf("%u", &m);
    printf("%s", "#columns=");
    scanf("%u", &n);
 
    in_matrix = alloc_matrix(m, n);
    printf("Input matrix elements (%ux%u):\n", m, n);
    get_matrix(in_matrix, m, n, stdin);
 
    out_matr = alloc_matrix(m, 3);
    fill_out_matrix(in_matrix, out_matr, m, n);
    print_matrix(out_matr, m, 3);
 
    free_matrix(out_matr, m);
    free_matrix(in_matrix, m);
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2012, 18:04
Привет! Вот еще темы с ответами:

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

Написать программу для формирования матрицы по ее внешнему виду. - C++
Написать программу для формирования матрицы по ее внешнему виду. 5 4 3 2 1 6 7 8 9 10 15 14 13 12 11 ......................... ...

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

Задача (использование и функций, и процедур) формирования матрицы M[i,j], элементами которой являются: - C++
помогите пожалуйста решить в С++ Задача (использование и функций, и процедур) формирования матрицы M, элементами которой являются: -...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.