С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 11
1

Матрица

17.12.2013, 00:14. Просмотров 233. Ответов 5
Метки нет (Все метки)

Задача вот такая. Нужно найти минимальный положительный элемент матрицы. Написал эту функцию, все запускается, но выдает какое то очень большое число.

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;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 00:14
Ответы с готовыми решениями:

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим
помогите пожалуйста. условие: дана квадратичная матрица z. составить...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() {...

Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n
Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор:...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица"
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и...

5
petyahohlov
27 / 22 / 13
Регистрация: 31.07.2013
Сообщений: 121
17.12.2013, 00:17 2
во-первых не все блоки закрыты.
1
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 11
17.12.2013, 00:23  [ТС] 3
все закрыто. просто не все вставил
0
petyahohlov
27 / 22 / 13
Регистрация: 31.07.2013
Сообщений: 121
17.12.2013, 00:30 4
C++
1
elem=a[q][w+1];
почему +1
вообще обьясни два последних цикла и условие
0
Teplotexnik
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
17.12.2013, 00:39 5
судя по вашему примеру функция возвращает второе после максимального числа
0
Andrewmgg
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 11
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;
                                                   
}}}
0
17.12.2013, 00:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 00:42

Матрица
Как можно все нулевые элементы размещать в верхней части матрицы?Если у нас...

Матрица
Задача:Дана прямоугольная матрица A (N, M) (N&lt;=M, M&lt;=15). Найти максимальный...

Матрица
короче вот такая хрень)) Дана целочисленная квадратная матрица. Определить:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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