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

Поиск в массиве минимального элемента - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.77
LiLi R.
 Аватар для LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
20.04.2010, 06:33     Поиск в массиве минимального элемента #1
Ребят помогите. дан массив n*n. нужно найти в каждом столбце минимальный элемент и записать данные в новый массив. подтолкните на путь истинный по таким вопросам :
1 - как найти мин. элемент в стобце (я примерно представляю но боюсь напотрачить)
2 - ну и соответственно как их записать в новый массив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 06:33     Поиск в массиве минимального элемента
Посмотрите здесь:

Поиск минимального элемента в массиве C++
C++ Поиск минимального элемента в матрице
Поиск максимального и минимального элемента в одномерном динамическом массиве C++
C++ В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива
Поиск минимального элемента матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.04.2010, 07:06     Поиск в массиве минимального элемента #2
1. Найти в массиве элемент с наименьшим значением
здесь код для поиска минимума. Каждый столбец матрицы есть одномерные массив.
2. Вы не поверите... новый_массив[индекс] = минимум, и так для каждого столбца.
LiLi R.
 Аватар для LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
20.04.2010, 21:09  [ТС]     Поиск в массиве минимального элемента #3
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
#include <iostream>
using namespace std;
 
 
int ** creat(int &n, int &m) 
{cout<<"n="; cin>>n; cout<<"m="; cin>>m;
int **mas=new int *[n];
for (int i=0; i<n; ++i) mas[i]=new int [m];
for (int i=0; i<n; ++i)
for (int j=0; j<m; ++j) {cout<<"mas["<<i<<"]["<<j<<"]="; cin>>mas[i][j];}
return mas;}
 
int main()
{int n;
cout<<"n="; cin>>n; cout<<"m="; cin>>m;
int **a creat(n,m);
float *b=new float[n];
int min=a[0][0];
for (int i=0; i<n; ++i)
for (int j=0; j<m; ++j)
if (a[i][j]<min)
min+=b[i];
cout<<"min= "<<b[i];
    return 0;
}
Правильно?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.04.2010, 21:21     Поиск в массиве минимального элемента #4
Куча ошибок, кроме того, новый массив объявляете для элементов типом float, хотя работаете с элементами типа int. Круто!
LiLi R.
 Аватар для LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
20.04.2010, 21:33  [ТС]     Поиск в массиве минимального элемента #5
valeriikozlov, сорри.
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
#include <iostream>
using namespace std;
 
 
int ** creat(int &n, int &m) 
{cout<<"n="; cin>>n; cout<<"m="; cin>>m;
int **mas=new int *[n];
for (int i=0; i<n; ++i) mas[i]=new int [m];
for (int i=0; i<n; ++i)
for (int j=0; j<m; ++j) {cout<<"mas["<<i<<"]["<<j<<"]="; cin>>mas[i][j];}
return mas;}
 
int main()
{int n,m;
cout<<"n="; cin>>n; cout<<"m="; cin>>m;
int **a creat(n,m);
int *b=new int[n];
int min=a[0][0];
for (int i=0; i<n; ++i)
for (int j=0; j<m; ++j)
if (a[i][j]<min)
min+=b[i];
cout<<"min= "<<b[i];
    return 0;
}
теперб две ошибки.
Error 1 error C2146: syntax error : missing ';' before identifier 'creat'
Error 2 error C2065: 'i' : undeclared identifier
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.04.2010, 21:52     Поиск в массиве минимального элемента #6
Цитата Сообщение от LiLi R. Посмотреть сообщение
теперб две ошибки.
Error 1 error C2146: syntax error : missing ';' before identifier 'creat'
Error 2 error C2065: 'i' : undeclared identifier
Очень серьезные ошибки. Попробуйте вот так:
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
#include <iostream>
using namespace std;
 
 
int ** creat(int &n, int &m) 
{//cout<<"n="; cin>>n; m=n;
int **mas=new int *[n];
for (int i=0; i<n; ++i) mas[i]=new int [m];
for ( i=0; i<n; ++i)
for (int j=0; j<m; ++j) {cout<<"mas["<<i<<"]["<<j<<"]="; cin>>mas[i][j];}
return mas;}
 
int main()
{int n,m;
cout<<"n="; cin>>n; m=n;
int **a=creat(n,m);
int *b=new int[n];
int min=a[0][0];
for (int i=0; i<n; ++i)
{min=a[0][i];
for (int j=0; j<m; ++j)
if (a[j][i]<min)
{
    min=a[j][i];    
}b[i]=min;
}
for (i=0; i<n; ++i)
cout<<"min= "<<b[i]<<endl;
        return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
20.04.2010, 22:07     Поиск в массиве минимального элемента #7
Я бы сделал так :)
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
#include <iostream>
  
int main()
{
    setlocale( LC_ALL,"Russian" );
    int row,column;
    int i,j; // счетчики.
    std::cout << "Введите кол-во строк в массиве: ";
    std::cin >> row;
    std::cout << "Введите кол-во столбцов в массиве: ";
    std::cin >> column;
 
    int **MAS = new int *[row]; // выделение памяти для массива MAS.
    for (i = 0; i < row; i++)
    MAS[i] = new int [column];
 
    for (i=0; i<row; i++) // заполняем массив MAS.
    for (j=0; j<column; j++)
    {
        std::cout << "MAS["<< i <<"]["<< j <<"]: ";
        std::cin >> MAS[i][j];
    }
 
    int *MAS_min=new int [column]; // выделение памяти для массива MAS_min.
    int min;
 
    for (i=0; i<row; i++)
    {
        min=MAS[i][0]; 
        for (j=0; j<column; j++) // находим минимальный элемент в строке.
        if (min>MAS[i][j]) min=MAS[i][j];
 
        MAS_min[i]=min; // записываем во второй массив.
        std::cout << MAS_min[i] << "  ";
    }
 
    std::cout << std::endl;
    for (int i = 0; i < row; i++)
    delete []MAS[i];
    delete []MAS;
    delete []MAS_min;
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2010, 23:41     Поиск в массиве минимального элемента
Еще ссылки по теме:

Поиск минимального элемента C++
Двумерный массив, поиск минимального элемента C++
Написать программу: поиск минимального элемента в массиве C++

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

Или воспользуйтесь поиском по форуму:
LiLi R.
 Аватар для LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
20.04.2010, 23:41  [ТС]     Поиск в массиве минимального элемента #8
valeriikozlov,
neske,
Спасиб вам большое. Сразу две версии программы покажу все охренеют.
Yandex
Объявления
20.04.2010, 23:41     Поиск в массиве минимального элемента
Ответ Создать тему
Опции темы

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