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

Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
DoctorCyborg
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 8
13.12.2013, 00:17     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент. #1
Массив размерностью MxN. Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент.
Во всех вариантах необходимо написать три функции, которые будут вызываться из функции main().
Первая функция получает размерность массива, создает динамический массив и возвращает указатель на начало созданного массива.
Вторая – получает адрес массива и его размерность и решает одну из ниже перечисленных задач.
Третья функция получает адрес массива и его размерность и освобождает память, занятую массивом.
Размерность вводится с клавиатуры в функции main() и передается в первую функцию. Значения элементов вводятся с клавиатуры в первой функции.
Заранее благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 00:17     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент.
Посмотрите здесь:

C++ Найти сумму положительных элементов столбца и строки массива, на пересечении которых находится минимальный элемент.
C++ Определить максимальный элемент матрицы А, номер его строки и номер его столбца
Найти наибольший элемент матрицы, а также номера строки и столбца, на пересечении которых он находится C++
C++ Найти максимальный элемент матрицы, номер строки и столбца, где он расположен
Определить номер строки и номер столбца матрицы, на пересечении которых находятся требуемые элементы C++
Определить номер столбца содержащий наименьший элемент матрицы через массив C++
Дана матрица A(3,4): Найти наименьший элемент матрицы и соответствующий ему номер строки C++
C++ Найти номер строки и номер столбца, в котором находится минимальный элемент матрицы
В матрице целых чисел размером 3x7 определить номер столбца, который содержит наименьший элемент C++
Найти сумму max элементов столбцов, и номер строки, в которой находится элемент матрицы с min значением C++
C++ Найти минимальный элемент матрицы 4х4 и вывести на экран номер строки и столбца в которых он находится
Найти номер строки и номер столбца матрицы, в которых находятся максимальный элемент C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
13.12.2013, 01:11     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент. #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
#include <iostream>
#include <locale.h>
using namespace std;
 
int** allocateMemory(int line, int column);
void printArray(int** array_a, int line, int column);
void deleteArray(int** array_a, int line);
void inputArray(int** array_a, int line, int column);
void findMin(int** array_a, int line, int column);
 
void main(){
    setlocale(LC_ALL,"rus");
    int line;
    int column;
 
    cout<<"Введите размер массива: ";
    cin>>line>>column;
    int **array_a = allocateMemory(line, column);
 
    inputArray(array_a, line, column);
    findMin(array_a, line, column);
    deleteArray(array_a, line);
 
}
int** allocateMemory(int line, int column){
 
    int **array_a = new int*[line];
    for(int i = 0; i < line; i++)
        array_a[i] = new int[column];
 
    return array_a; 
}
void printArray(int** array_a, int line, int column){
 
    cout<<"Массив:"<<endl;
    for (int i = 0; i < line; i++){
        for (int j = 0; j < column; j++)
            cout<<array_a[i][j];
        cout<<endl;
    }   
}
void deleteArray(int** array_a, int line){
 
     for (int i = 0; i < line; i++) 
         delete [] array_a[i];
     delete [] array_a;       
}
void inputArray(int** array_a, int line, int column){
    
    cout<<"Заполните массив"<<endl;
 
    for(int i = 0; i < line; i++)
        for(int j = 0; j < column; j++)
            cin>>array_a[i][j];
}
void findMin(int** array_a, int line, int column){
    int min_i = 0;
    int min_j = 0;
 
    for(int i = 0; i < line; i++){
        for(int j = 0; j < column; j++){
            if(array_a[i][j] < array_a[min_i][min_j]){
                min_i = i;
                min_j = j;
            }
        }
    }
 
    cout<<"Минимальный элемент: "<<array_a[min_i][min_j]<<endl;
    cout<<"Расположение. Строка: "<<min_i+1<<" Столбец: "<<min_j+1<<endl;
}
sogooo
 Аватар для sogooo
93 / 66 / 4
Регистрация: 11.12.2013
Сообщений: 309
13.12.2013, 02:08     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент. #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
#include <iostream>
#include <cstring>
#include <cmath>
 
struct ij{
int ii,jj;
};
 
int** f1(int n,int m){
int **arr = new int*[n];
 
for (size_t i=0; i<n; ++i){
    arr[i] = new int[m];
    for (size_t j=0; j<m; ++j) std::cin>>arr[i][j];
}
return arr;
}
 
ij f2(int **arr, int n, int m){
struct ij temp;
int min=arr[0][0];
temp.ii=0;
temp.jj=0;
for (size_t i=0; i<n; ++i)
    for (size_t j=0; j<m; ++j)
        if (arr[i][j]<min) {
            min=arr[i][j];
            temp.ii=i;
            temp.jj=j;
        }
return temp;
 
}
 
int f3(int **arr, int n,int m){
for (size_t i=0; i<n; ++i)
    delete [] arr[i];
delete [] arr;
}
int main()
{
int n,m,**arr;
std::cout<<"Введите размерность матрици:\n";
std::cin>>n>>m;
arr=f1(n,m);
struct ij temp=f2(arr,n,m);
f3(arr,n,m);
std::cout<<"i j ="<<temp.ii+1<<" "<<temp.jj+1;
}
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
13.12.2013, 02:25     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент. #4
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
#include <iostream>
#include <stdlib.h>
#include<time.h>
#include <iomanip>
 
using namespace std;
 
int** AllocateMas(int, int);
void DeleteMas(int** mas, int);
void InputMas(int** mas, int, int);
void Min(int** mas, int, int);
 
int main()
{
   system("chcp 1251 > nul");
   srand(time(NULL));//для правильной работы рандомизатора
    int row,column;;
    cout<<"Введите размер массива: ";
    cin>>row;
    cin>>column;
    int **mas = AllocateMas(row, column);
    cout<<"Массив:"<<"\n";
    InputMas(mas, row, column);
    Min(mas, row, column);
    DeleteMas(mas, row);
 return 0;
}
int** AllocateMas(int row, int column)
{
 
    int **mas = new int*[row];
    for(int i = 0; i < row; i++)
        mas[i] = new int[column];
 
    return mas;
}
 
void DeleteMas(int** mas, int row){
 
     for (int i = 0; i < row; i++)
         delete [] mas[i];
     delete [] mas;
}
void InputMas(int** mas, int row, int column){
 
 
     for(int i=0;i<row;i++)
    {
        for(int j=0;j<column;j++)
         {
            mas[i][j]=rand()%100;//заполняем
            cout << setw(3) << mas[i][j] << ' ';
         }
        cout<<"\n";
    }
 
}
void Min(int** mas, int row, int column){
    int min_i = 0;
    int min_j = 0;
 
    for(int i = 0; i < row; i++){
        for(int j = 0; j < column; j++){
            if(mas[i][j] < mas[min_i][min_j]){
                min_i = i;
                min_j = j;
            }
        }
    }
 
    cout<<"Мин элемент = "<<mas[min_i][min_j]<<"\n";
    cout<<"Строка: "<<min_i+1<<" Столбец: "<<min_j+1<<"\n";
}
Yandex
Объявления
13.12.2013, 02:25     Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент.
Ответ Создать тему
Опции темы

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