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

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

16.02.2012, 16:21. Показов 2638. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2012, 16:21
Ответы с готовыми решениями:

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

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

Программа формирования квадратной матрицы
Напишите программу формирования квадратной матрицы в 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...

1
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
16.02.2012, 18:04
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2012, 18:04
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru