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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
#1

Функция для нахождения минимального элемента - C++

17.12.2012, 05:42. Просмотров 1527. Ответов 2
Метки нет (Все метки)

Разработать функцию для вычисления минимального значения элементов одномерного целочисленного массива размерности n. С использованием данной функции для матрицы размерности n х m (n и m вводится с клавиатуры, элементы матрицы заполняются с помощью генератора псевдослучайных чисел) вывести на печать те строки матрицы, минимальные элементы которых превышают некоторое заданное пороговое значение (пороговое значение вводится с клавиатуры). Перед этим выводом распечатать исходную матрицу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 05:42     Функция для нахождения минимального элемента
Посмотрите здесь:
C++ Рекурсивная функция для нахождения минимального элемента массива
C++ Функция нахождения минимального элемента заданного столбца матрицы
Составить программу для нахождения минимального элемента массива C++
C++ Шаблонные функции для нахождения минимального и максимального элемента пары чисел
C++ Математическая функция для которой нужно решить задачу нахождения максимального (минимального) значения
C++ Функция для определения минимального элемента вектора
Написать (переделать) программу с использованием ссылок в качестве параметров функций для нахождения минимального элемента из 3-х заданных C++
C++ Функция для нахождения индекса максимального элемента массива
C++ Функция и программа для проверки, которая возвращает номер минимального элемента C++
C++ Рекурсивная функция нахождения максимального и минимального значения
Написать функцию нахождения минимального элемента массива C++
C++ Разработать рекурсивную функцию нахождения минимального элемента данной последовательности а1, а2, …

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
17.12.2012, 08:49     Функция для нахождения минимального элемента #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
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iomanip>
 
int *findMinimum(int *begin, int *end) {
  if (begin == end) return begin;
  int *minimum = begin++;
  while (begin != end) {
    if (*begin < *minimum)
      minimum = begin;
    ++begin;
  }
  return minimum;
};
 
int *findMinimum(int **vector, int height, int width) {
  int **end = vector + height;
  int *minimum = findMinimum(*vector, *vector + width);
  ++vector;
  while (vector != end) {
    int *localMinimum = findMinimum(*vector, *vector + width);
    if (*localMinimum < *minimum)
      minimum = localMinimum;
    ++vector;
  }
  return minimum;
};
 
int main(int argc, char *argv[]) {
  srand(time(0));
 
  const size_t width = 10 + rand() % 5;
  const size_t height = 10 + rand() % 5;
  
  int **vector = new int*[height];
  for (int **i = vector; i < vector + height; ++i) {
    *i = new int[width];
    for (int *j = *i; j < *i + width; ++j) {      
      std::cout << std::setw(3) << (*j = rand() % 25) << " ";
    }
    std::cout << std::endl;
  }
 
  int *minimum = findMinimum(vector, height, width);
  std::cout << "Minimum value is " << *minimum << std::endl;
 
  return 0;
}
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
17.12.2012, 18:36     Функция для нахождения минимального элемента #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
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
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <ctime>
using namespace std;
int min( int*, int);
int main(int argc, char **argv)
{
    int n,m;
    cout <<"n,m";
    if (n>0 && m>0) {
        cin >>n>>m;
        //1. создаем массив,где будем хранить указатели на массивы строк
        int **matr=new int *[n];
        //2. выделяем память под каждую строку массива
        for (int i=0; i<n; i++)
            matr[i]=new int[m];
        //3. input
        srand(time(NULL));
        for (int i=0; i<n; i++)
            for (int j=0; j<m; j++)
                matr[i][j]=5+rand()%15;
        //4 print
        for (int i=0; i<n; i++) {
            for (int j=0; j<m; j++) {
                cout <<setw(4) <<matr[i][j];
            }
            cout << endl;
        }
        //5 calc
        int num, min1,
            *vect=new int[m];
        cout<<"num?";
        cin >> num;
        cout << endl;
        for (int i=0; i<n; i++) {
            for (int j=0; j<m; j++) {
                vect[j]=matr[i][j];
            }
            min1=min(vect, m);
            if (min1>num) cout << "stroka[ "<<i<<"] min="<< min1<< " and >" <<num << endl;
        }
        //6 delete dynamic matrix
        delete[]vect;
        for (int i=0; i<n; i++) delete[]matr[i];
        delete []matr;
    } else cout <<"Number is not valid. Bye"<<endl;
    return 0;
}
int min(int *a, int n)
{
    int localMin=a[0];
    for (int i=1; i<n; ++i)
        if (localMin>a[i]) localMin=a[i];
    return localMin;
}
Yandex
Объявления
17.12.2012, 18:36     Функция для нахождения минимального элемента
Ответ Создать тему
Опции темы

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