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

Не могу понять, что за ошибка (В матрице поменять местами столбцы, чтобы минимальные элементы образовывали возрастающую последовательность) - C++

Восстановить пароль Регистрация
 
KorolevaE
2 / 2 / 0
Регистрация: 24.11.2012
Сообщений: 34
22.06.2013, 13:19     Не могу понять, что за ошибка (В матрице поменять местами столбцы, чтобы минимальные элементы образовывали возрастающую последовательность) #1
Суть задачи состроит в том, дана матрица размера n на m. задается двумерный массив(рандомно). нужно поменять местами столбцы что бы минимальные элементы образовывали возрастающую последовательность.
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <time.h>
#define x 100
#define y 100
using namespace std;
 
void gen (int str, int slb, int a, int b, int mass[x][y]); 
void out (int str, int slb, int mass[x][y]);
void minimum (int str, int slb, int mass[x][y], int min[y]);
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "");
 
int a, b, str, slb, mass[x][y];
printf ("Количество элементов массива в строке= ");
scanf ("%d", &str);
printf ("Количество элементов массива в столбце= ");
scanf ("%d", &slb);
printf ("Нижняя граница массива= ");
scanf ("%d", &a);
printf ("Верхняя граница массива= ");
scanf ("%d", &b);
 
gen (str, slb, a, b+1, mass);
out (str, slb, mass);
minimum (str, slb, mass, min);
 
system ("pause");
return 0;
}
 
void gen (int str, int slb, int a, int b, int mass[x][y]) 
{
int i, j;
srand (time (NULL) * 1000);
for (i=0; i<str; i++) {
for (j=0; j<slb; j++) {
 
mass[i][j] = rand() * 1.0 / (RAND_MAX) * (b - a) + a;
}
}
}
 
void out (int str, int slb, int mass[x][y])
{
int i, j;
printf ("\nИсходный массив:\n");
for (i=0; i<str; i++) {
for (j=0; j<slb; j++) {
printf ("%4d\t", mass[i][j]);
}
}
}
void min (int str, int slb, int mass[x][y], int min[y]) {
    int i, j;
    for (j=0; j<slb; j++) {
        min[j]=0;
        for (i=1; i<str; i++)
            if (mass[i][j]<mass[min[j]][i])
                min[j]=i;
    }
    printf ("%d", mass[x][y]);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 13:19     Не могу понять, что за ошибка (В матрице поменять местами столбцы, чтобы минимальные элементы образовывали возрастающую последовательность)
Посмотрите здесь:

Упорядочить строки матрицы так, чтобы их первые элементы образовывали возрастающую последовательность C++
C++ В матрице поменять местами столбцы с заданными номерами
C++ В заданной матрице А (N , М) поменять местами столбцы с номерами P и Q
C++ Двумерные массивы. Переставьте столбцы массива так, чтобы их максимальные элементы образовали возрастающую последовательность
C++ Как в матрице поменять местами столбцы?
Есть ли в матрице столбец, элементы которого образуют возрастающую последовательность? C++
Поменять местами столбцы в матрице C++
Поменять местами столбцы в матрице C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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