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

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

Войти
Регистрация
Восстановить пароль
 
Пашокк
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 11
#1

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

03.02.2012, 21:30. Просмотров 717. Ответов 10
Метки нет (Все метки)

Задал двухмерный массив.Мне нужно найти максимальный элемент из заданного ряда этого самого массива.Помогите пожалуйста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
int main ()
{
    
    char S[80];
    CharToOem("Данный двухмерный массив:",S);
        cout<<S<<endl;  
    int mas[5][7],t,i;
    for (t=0;t<5;++t)
        for(i=0;i<7;++i)
                mas[t][i] =(t*7)+i+1;
        for(t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            printf("%3d",mas [t][i]);
        printf("\n");
        }
        
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2012, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимальный элемент из заданной строки матрицы (C++):

Найти и вывести на экран максимальный элемент заданной строки матрицы - C++
1. Заполнить случайными числами матрицу А(mxn) и вывести ее на экран в виде таблицы. Программа находит максимальный элемент 1-ой строки...

Поиск номера строки заданной матрицы, содержащей максимальный элемент - C++
Написать программу поиска номера строки заданной матрицы, содержащей максимальный элемент. В найденной строке найти ...

Найти максимальный элемент заданной матрицы - C++
Дана матрица размером NxM. Найти максимальный элемент. Помогите, пожалуйста

Найти максимальный элемент в заданной строке матрицы - C++
задана матрица. написать функцию, в которую передаешь номер строки, а она ищет в этой строке максимальный элемент

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

Найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы - C++
как найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы на с++ Добавлено через 6 минут ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
03.02.2012, 22:33 #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
#include <iostream.h>
#include <conio.h>
#define R 5
#define C 7
 
int main(){
int mas[R][C], i, j, max;
 
    for(i = 0; i < R;i++){
        for(j = 0; j < C;j++)
        mas[i][j] = (j * i);// ZAPOLNYAEM MASSIV
        }
    max = mas[0][0];
      for(i = 0; i < R;i++){
        for(j = 0; j < C;j++)
        if(max < mas[i][j]) max = mas[i][j]; // SORTIRUEM
        }
 
      for(i = 0; i < R;i++){
        for(j = 0; j < C;j++)
        std::cout << mas[i][j] << '\n';
        }
        std::cout << '\n' << "MAX ELEMENT    "<< max << '\n';
        getch();
    return 0;
}
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
03.02.2012, 22:59 #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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
int main ()
{
        
        char S[80];
    CharToOem("Данный двухмерный массив:",S);
    cout<<S<<endl;  
        int mas[5][7], t, i, str, max;
        for (t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            {
                            mas[t][i] =(t*7)+i+1;
                            printf("%3d",mas [t][i]);
            }
            printf("\n");
        }
    CharToOem("Введите номер строки:",S);
    cout<<S<<endl; cin>>str;
    CharToOem("Максимальный элемент даной строки:",S);
    cout<<S<<endl<<mas[str-1][6]<<endl;
        return 0;
}
Пашокк
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 11
04.02.2012, 00:16  [ТС] #4
Цитата Сообщение от Алексaндр Посмотреть сообщение
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 <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
int main ()
{
        
        char S[80];
    CharToOem("Данный двухмерный массив:",S);
    cout<<S<<endl;  
        int mas[5][7], t, i, str, max;
        for (t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            {
                            mas[t][i] =(t*7)+i+1;
                            printf("%3d",mas [t][i]);
            }
            printf("\n");
        }
    CharToOem("Введите номер строки:",S);
    cout<<S<<endl; cin>>str;
    CharToOem("Максимальный элемент даной строки:",S);
    cout<<S<<endl<<mas[str-1][6]<<endl;
        return 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <vlc.h>
 
 
int main ()
{
        
        char S[80];
    CharToOem("Данный двухмерный массив:",S);
    cout<<S<<endl;  
        int mas[5][7], t, i, str, max, k;
        for (t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            {
                            mas[t][i] =(t*7)+i+1;
                            printf("%3d",mas [t][i]);
            }
            printf("\n");
        }
    CharToOem("Введите номер строки:",S);
    cout<<S<<endl; cin>>str;
    CharToOem("Максимальный элемент даной строки:",S);
    cout<<S<<endl<<mas[str-1][6]<<endl;
        
k=StrToInt(Edit1->mas[str-1][6]);                                 //на сколько сдвигать
for (t = 0; t < 5; t++)                                  //сдвиг вправо
for (i = 0; i < 7; i++)
res[t][(j+StrToInt(Edit1->mas))%(8)]= mas[t][i];  //mas - исходный массив
 
for (t = 0; t < 5; t++)                 //вывод
for (i = 0; i < 7; i++)
{
StringGrid1->Cells[i+1][t+1] = IntToStr(res[t][i]);
}
return 0;
}
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
04.02.2012, 00:29 #5
Весь двухмерный массив подвинуть чтоли?
Пашокк
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 11
04.02.2012, 00:33  [ТС] #6
Цитата Сообщение от Алексaндр Посмотреть сообщение
Весь двухмерный массив подвинуть чтоли?
Сдвинуть все ряды в двухмерном массиве циклически вправо на количество равное этому самому найденному максимальному элементу.
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
04.02.2012, 00:44 #7
Тоесть, сдвигается каждый ряд отдельно, не вылазя на другой ряд, или весь массив сразу ?
Пашокк
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 11
04.02.2012, 00:46  [ТС] #8
Цитата Сообщение от Алексaндр Посмотреть сообщение
Тоесть, сдвигается каждый ряд отдельно, не вылазя на другой ряд, или весь массив сразу ?
Каждый ряд отдельно
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
04.02.2012, 01:04 #9
не знаю, правильно ли сделал... не тестировал, коне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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <vlc.h>
 
int main ()
{
        
        char S[80];
    CharToOem("Данный двухмерный массив:",S);
    cout<<S<<endl;  
        int mas[5][7], t, i, str, max, otv[5][7], f=0;
        for (t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            {
                            mas[t][i] =(t*7)+i+1;
                            printf("%3d",mas [t][i]);
            }
            printf("\n");
        }
    CharToOem("Введите номер строки:",S);
    cout<<S<<endl; cin>>str;
    CharToOem("Максимальный элемент даной строки:",S);
    cout<<S<<endl<<mas[str-1][6]<<endl;
        
k=mas[str-1][6];                                 //на сколько сдвигать
for (t = 0; t < 5; t++)                                  //сдвиг вправо
for (i=0; i<7; i++)
      {
          if ((i+k)%6==0) { otv[t][6]=mas[t][i]; f=1; }
          if (i+k>6 && f==0)otv[t][(i+k)%6]=mas[t][i];
          if (i+k<6 && f==0) otv[t][i+k]=mas[t][i];
          f=0;
      } //mas - исходный массив
 
for (t = 0; t < 5; t++)                 //вывод
for (i = 0; i < 7; i++)
{
StringGrid1->Cells[i+1][t+1] = IntToStr(otv[t][i]);
}
return 0;
}
Проверьте.
Если что не так работает, пишите в личку.
Пашокк
0 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 11
04.02.2012, 01:18  [ТС] #10
Цитата Сообщение от Алексaндр Посмотреть сообщение
не знаю, правильно ли сделал... не тестировал, коне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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <vlc.h>
 
int main ()
{
        
        char S[80];
    CharToOem("Данный двухмерный массив:",S);
    cout<<S<<endl;  
        int mas[5][7], t, i, str, max, otv[5][7], f=0;
        for (t=0;t<5;++t)
        {
            for(i=0;i<7;++i)
            {
                            mas[t][i] =(t*7)+i+1;
                            printf("%3d",mas [t][i]);
            }
            printf("\n");
        }
    CharToOem("Введите номер строки:",S);
    cout<<S<<endl; cin>>str;
    CharToOem("Максимальный элемент даной строки:",S);
    cout<<S<<endl<<mas[str-1][6]<<endl;
        
k=mas[str-1][6];                                 //на сколько сдвигать
for (t = 0; t < 5; t++)                                  //сдвиг вправо
for (i=0; i<7; i++)
      {
          if ((i+k)%6==0) { otv[t][6]=mas[t][i]; f=1; }
          if (i+k>6 && f==0)otv[t][(i+k)%6]=mas[t][i];
          if (i+k<6 && f==0) otv[t][i+k]=mas[t][i];
          f=0;
      } //mas - исходный массив
 
for (t = 0; t < 5; t++)                 //вывод
for (i = 0; i < 7; i++)
{
StringGrid1->Cells[i+1][t+1] = IntToStr(otv[t][i]);
}
return 0;
}
Проверьте.
Если что не так работает, пишите в личку.
Вот такая ошибка:

fatal error C1083: Cannot open include file: 'vlc.h': No such file or directory
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
04.02.2012, 10:23 #11
ну так удали
C++
1
#include <vlc.h>
))
Если нужна тебе - тогда подправь на "vcl.h"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2012, 10:23
Привет! Вот еще темы с ответами:

Найти максимальный элемент n-ой строки данной матрицы - C++
Дано число n (0&lt;n&lt;9) и матрица 10x10 элементов. Найти максимальный элемент n-ой строки данной матрицы. Буду очень благодарен за...

Найти максимальное значение элемента матрицы, указать его координаты и подсчитать сумму строки матрицы, содержащей максимальный элемент - C++
Здраствуйте форумчане, помогите выполнить задание. Из 25 положительных, отрицательных и нулевых значений чисел сформируйте матрицу 5х5....

Найти максимальный отрицательный элемент каждой строки матрицы - C++
Здравствуйте, помогите, пожалуйста, написать программу на С. Задание Написать программу, которая: - вводит из файла In.txt матрицу...

Массивы. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены - C++
Здравствуйте! помогите написать программу на языке C++. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.02.2012, 10:23
Ответ Создать тему
Опции темы

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