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

Наименьший элемент каждой строки матрицы. - C++

Восстановить пароль Регистрация
 
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
18.04.2012, 00:50     Наименьший элемент каждой строки матрицы. #1
Здравствуйте, можете помочь ?
Нужно среди наименьших элементов каждой строки матрицы найти самый большой і указать его индекс.
Найти наименьший элемент каждой строки матрицы могу, а вот дальше уже не получается.

Добавлено через 3 часа 31 минуту
Вот мой вариант, только не могу понять, почему если в строке матрицы есть положительные элементы (>0), программа выводит, что наименьший элемент = 0, если есть отрицательные (<0), о все нормально. Но и никак не могу разобраться с номером элемента как в задание
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
#include <conio.h>
#include <iostream.h>
int main()
{ int i,ix,j,n,m,f[100][100],min,pos,smin=-20;
randomize();
cout<<"Vvedite rozmirnist`"<<endl;
cin>>n>>m;
for (i=1;i<=n;i++)
{for (j=1;j<=m;j++)
{
f[i][j]=random(40)-20;
cout<<f[i][j]<<"\t";}
 
min=f[i][0];
{for (j=1;j<=m;j++)
 
if (min>f[i][j])
min=f[i][j];
cout<<"|Minimalne:"<<min<<" Ego nomer "<<ix<<endl;}
if (smin<=min) smin=min;
cout<<endl;}
cout<<"Naibilse z minimalnux:"<<smin;
getch();
        return 0;
}
//---------------------------------------------------------------------------
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 00:50     Наименьший элемент каждой строки матрицы.
Посмотрите здесь:

C++ Определить наименьший элемент в каждой четной строке матрицы А[M,N]
умножить элемент каждой строки первой матрицы на наибольшее из значений элементов соответствующей строки второй матрицы C++
C++ Найти наименьший элемент каждой четной строки матрицы.
Определить наименьший элемент каждой четной строки матрицы A[N,N]. C++
В каждой из заданных матриц поменять местами строки, содержащие самый и наименьший элемент C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Corwin93
Сообщений: n/a
18.04.2012, 01:26     Наименьший элемент каждой строки матрицы. #2
Создайте новый массив и вставляйте в него минимальные элементы, а потом в этом массиве ищите максимум. Поняли о чём я?
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
18.04.2012, 01:49  [ТС]     Наименьший элемент каждой строки матрицы. #3
Corwin93, ну я максимум нашел, уже не в этом вопрос.

Добавлено через 18 минут
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
#include <conio.h>
#include <iostream.h>
int main()
{ int i,ix=0,j,n,m,f[100][100],min,pos,smin=-20,k=0;
randomize();
cout<<"Vvedite rozmirnist`"<<endl;
cin>>n>>m;
for (i=1;i<=n;i++)
{for (j=1;j<=m;j++)
{
f[i][j]=random(40)-20;
cout<<f[i][j]<<"\t";}
 
min=f[i][0];
 
{for (j=1;j<=m;j++)
{k++;
if (min>f[i][j])
min=f[i][j];}
cout<<"|Minimalne:"<<min;}
if (smin<=min)
{smin=min;
ix=k;}
cout<<endl;}
cout<<"Naibilse z minimalnux:"<<smin<<" Ego momer:"<<ix;;
getch();
        return 0;
}
Вроде смог и номер элемента найти, но вот проблема с положительными элементами осталась.
Sick2
14 / 14 / 1
Регистрация: 26.11.2010
Сообщений: 235
18.04.2012, 03:31     Наименьший элемент каждой строки матрицы. #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
#include <iostream>
#include <time.h>
int main()
{
    int a[20][20],temp[20], min, max, ind_i = 0,ind_j = 0, count = 0, n , m;
    srand(time(NULL));
    std::cout<<"Size: ";
    std::cin>>n>>m;
    for(int i = 0 ; i < n; i ++)
    {
        for(int j = 0 ; j < m; j ++)
        {
            a[i][j] = rand()%100;
        }
    }
 
    for(int i = 0 ; i < n; i ++)
    {
        for(int j = 0 ; j < m; j ++)
        {
            std::cout<<a[i][j]<<" ";
        }
        std::cout<<std::endl;
    }
    min = a[0][0];
    
    for(int i = 0 ; i < n; i ++)
    {
        for(int j = 0 ; j < m; j ++)
        {   
            if(min > a[i][j])
                {
                    min = a[i][j];
                }
                if(j == m - 1)
                {
                        temp[count++] = min;
                        min = INT_MAX;
                }
        }
        
    }
    max = temp[0];
    for(int i = 0 ; i < count; i ++)
    {
     if(max < temp[i])
     {
         max = temp[i];
     }
    }
 
    for(int i = 0 ; i < n; i ++)
    {
        for(int j = 0 ; j < m; j ++)
        {
            if(a[i][j] == max)
            {
                ind_i = i;
                ind_j = j;
            }
        }
    }
    std::cout<<"Ind_i: "<<ind_i<<std::endl<<"Ind_j: "<<ind_j;
    
    return 0;
}
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
18.04.2012, 05:05  [ТС]     Наименьший элемент каждой строки матрицы. #5
Sick2, спасибо, но препод опять будет морочить голову, что очень много циклов.

У меня вот есть уже программка, может она не очень, но все же сам сделал.
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
#include <conio.h>
#include <iostream.h>
int main()
{ int i,ix=0,j,n,f[100][100],pos,smin=-20,iy=0;
randomize();
cout<<"Vvedite rozmirnist`"<<endl;
cin>>n;
for (i=1;i<=n;i++)
{int min=50;
for (j=1;j<=n;j++)
{f[i][j]=random(40)-20;
cout<<f[i][j]<<"\t";
if (min>f[i][j])
min=f[i][j];}
cout<<"|Minimalne:"<<min;
 
 
if (smin<=min)
{smin=min;
ix=i;
iy=j;}
 
cout<<endl;}
cout<<"Naibilse z minimalnux:"<<smin<<endl;
cout<<"Nomer ryadka:"<<ix<<endl;
cout<<"Nomer stovbcya:"<<iy<<endl;
getch();
        return 0;
}
Только у меня не считает номер столбца, цикл с j уже закрыт, а как лучше почитать номер столбца в моем случае я не знаю
Venteux
 Аватар для Venteux
7 / 7 / 1
Регистрация: 19.09.2010
Сообщений: 21
18.04.2012, 12:47     Наименьший элемент каждой строки матрицы. #6
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
 #include<iostream.h>
 #include<conio.h>
 #include<cstdlib>
 
 
 void main()
 {
   int mas[100][100],mas2[100][3],i=0,j=0,ix=0,iy=0,max,n;
 
   cout<<"Vvedite razmernost :";
   cin>>n;
 
 
   for(i=0;i<n;i++)
   {for(j=0;j<n;j++)
     {mas[i][j]=rand()%40-20;
      cout<<mas[i][j]<<"\t";
     }
    cout<<endl; }
 
   for(i=0;i<n;i++)
   {mas2[i][0]=mas[i][0];
    for(j=0;j<n;j++) 
     {if(mas2[i][0]>mas[i][j])
       {mas2[i][0]=mas[i][j];
         mas2[i][1]=i;
         mas2[i][2]=j;
       }
     }
   }
 
 
   max=mas2[0][0];
 
   for(i=0;i<n;i++)
    if(max<mas2[i][0])
     {max=mas2[i][0];
      ix=mas2[i][1];
      iy=mas2[i][2];
     }
       
   cout<<"Polychennoe chislo: "<<max<<" ; stroka: "<<ix<<" ; stolbec:"<<iy<<endl;
 
   getch();
 }
Yandex
Объявления
18.04.2012, 12:47     Наименьший элемент каждой строки матрицы.
Ответ Создать тему
Опции темы

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