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

Матрица - C++

Восстановить пароль Регистрация
 
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
17.12.2013, 00:14     Матрица #1
Задача вот такая. Нужно найти минимальный положительный элемент матрицы. Написал эту функцию, все запускается, но выдает какое то очень большое число.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int min(int **a, int n, int m, int elem,int max){
max=a[0][0];
elem=0;
     for(int i=0; i<n;i++){
         for(int j=0; j<m;j++){
                 if(a[i][j+1]>max){
                                                   max=a[i][j+1];
                                                   }
                 }
         }
elem=max; 
   for(int q=0;q<n;q++){
           for(int w; w<m; w++){
                   if(a[q][w]>0&&a[q][w]<max)
                   {
                                                  elem=a[q][w+1];
                                                  }
                                                  return elem;
Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int min(int **a, int n, int m, int elem,int max){
max=a[0][0];
elem=0;
     for(int i=0; i<n;i++){
         for(int j=0; j<m;j++){
                 if(a[i][j+1]>max){
                                                   max=a[i][j+1];
                                                   }
                 }
         }
elem=max; 
   for(int q=0;q<n;q++){
           for(int w; w<m; w++){
                   if(a[q][w]>0&&a[q][w]<max)
                   {
                                                  elem=a[q][w+1];
                                                  }
                                                  return elem;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 00:14     Матрица
Посмотрите здесь:

C++ Матрица
C++ Матрица.Си
C++ Матрица.
C++ матрица
матрица C++
матрица C++
матрица C++
C++ матрица
C++ Матрица...
C++ Матрица
Матрица М * М C++
матрица М*М C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 120
17.12.2013, 00:17     Матрица #2
во-первых не все блоки закрыты.
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
17.12.2013, 00:23  [ТС]     Матрица #3
все закрыто. просто не все вставил
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 120
17.12.2013, 00:30     Матрица #4
C++
1
elem=a[q][w+1];
почему +1
вообще обьясни два последних цикла и условие
Teplotexnik
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
17.12.2013, 00:39     Матрица #5
судя по вашему примеру функция возвращает второе после максимального числа
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 9
17.12.2013, 00:42  [ТС]     Матрица #6
вот. я думаю так будет правильно, но результат такой же.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int min(int **a, int n, int m, int elem,int max){
max=a[0][0];
elem=a[0][0];
//найдем максимальный элемент массива//
     for(int i=0; i<n;i++){
         for(int j=0; j<m;j++){
                 if(a[i][j]>max){
                                                   max=a[i][j];}
                                  
                 }
         }
//нахождение наименьшего положительного элемента и присваиваем его значение как наибольшее// 
   for(int q=0;q<n;q++){
           for(int w; w<m; w++){
                   if(a[q][w]>0&& a[q][w]<max)
                   {
                                                  elem=a[q][w];
                                                  max=a[q][w];
                                                  }
                                                  return elem;
                                                   
}}}
Yandex
Объявления
17.12.2013, 00:42     Матрица
Ответ Создать тему
Опции темы

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