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

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

Войти
Регистрация
Восстановить пароль
 
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
#1

КАК СРАВНИВАТЬ ДВУМЕРНЫЙ МАССИВ?? - C++

20.11.2010, 19:53. Просмотров 858. Ответов 10
Метки нет (Все метки)

Нужно решить задачу и найти наибольший элемент. Подскажите, как сделать?
Оригинал
НУЖНО РЕШИТЬ ЗАДАЧУ И НАЙТИ НАИБОЛЬШИЙ ЭЛЕМЕНТ!!!
ПОДСКАЖИТЕ КАК СДЕЛАТЬ?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2010, 19:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос КАК СРАВНИВАТЬ ДВУМЕРНЫЙ МАССИВ?? (C++):

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

двумерный массив, как? - C++
Подскажите, пожалуйста. Как в С++ создать двумерный массив double K. Проблема в том, что size определяется во время работы. А С++ кричит,...

Как сделать двумерный массив - C++
Доброго времени суток. Допустим с клавиатуры вводятся 25 значений. Как их записать в двумерный массив(чтоб матрица образовалась?. Помогите...

Как сформировать двумерный массив? - C++
Сформировать двумерный массив на языке С++: 1 2 3 4 5 ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 20:04 #2
Конкретизируйте задачу. Вам надо сравнить два двумерных массива?
0
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 203
20.11.2010, 20:09 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a[100];
int X,Y;
int max=0;
int k,l;
 
for(int i=0;i<X;i++)
 for(int j=0;j<Y;j++)
  if(a[i][j]>max)
  {
     max=a[i][j]; 
     k=i;
     l=j;  
  }
cout<<"Максимальный элемент массива <a>   a["<<k<<"]["<<l<<"]="<<max;
это в случае с целочисленным статическим массивом. но задача, поставленная вами, до ужаса расплывчата. поясните.
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
20.11.2010, 20:09  [ТС] #4
Цитата Сообщение от MILAN Посмотреть сообщение
Конкретизируйте задачу. Вам надо сравнить два двумерных массива?
КОНКРЕТНЕЕ МНЕ НАДО СДЕЛАТЬ ВОТ ЭТО!!!
КАК СРАВНИВАТЬ ДВУМЕРНЫЙ МАССИВ??
КОД ПОЛУЧИЛСЯ ВОТ ТАКОЙ!!!
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
74
75
#include <stdio.h>
#include <conio.h>
int main ()
{
    int a[10][10],//матрица
        b[10],//масссив из номеров элементов
        n=5,m=6,i,j,k,c,f,;
    do
    {/*ввод матрицы*/
        printf ("\n VVEDITE DANNIE RAZMEROM (%d*%d) POSTROCHNO:\n",n,m);
        for (i=0;i<n;i++)
            for (j=0;j<m;j++)
            { printf ("a[%d][%d]= ",i+1,j+1); scanf ("%d",&a[i][j]); }
        /*вывод в матричном виде*/
        printf ("\n\nMatritsa:\n");
        for (i=0;i<n;i++)
        {
            printf ("\n");
            for (j=0;j<m;j++)
                printf ("%4d  ",a[i][j]);
        }
        /*упорядочение элементов по возрастанию в каждой строке*/
        for (i=0;i<n;i++)
            for (k=1;k<m;k++)
                for (j=0;j<m-k;j++)
                    if (a[i][j]>a[i][j+1])
                        {   
                            c=a[i][j];
                            a[i][j]=a[i][j+1];
                            a[i][j+1]=c;
                        }
        /*вывод нового массива*/
                
        /*формирование массива из номеров элементов строк*/     
        printf ("\n\nVvedite cheloe chislo: ");
        scanf ("%d",&c);
        for (i=0;i<n;i++)
        {
            f=0;
            for (j=0;j<m&&f==0;j++)
                if (a[i][j]>c)
                { b[i]=j+1; f++; }
        }
        /*вывод номеров строк*/
        printf ("\nNomer pervogo elementa bol'she %d:\n",c);        
        for (i=0;i<n;i++)
            printf ("V stroke %d - %d\n",i+1,b[i]);
 
 
        for (k=1;k<n;k++)
            for (i=0;i<n-k;i++)
                if (b[i]>b[i+1])
                {
                    c=b[i];
                    b[i]=b[i+1];
                    b[i+1]=c;                   
                    for (j=0;j<m;j++)
                    {
                        c=a[i][j];
                        a[i][j]=a[i+1][j];
                        a[i+1][j]=c;
                    }
                }
        /*вывод массива с упоряд. строками*/
        printf ("\nUporyadochenie strok:\n");       
        for (i=0;i<n;i++)
        {
            printf ("\n");
            for (j=0;j<m;j++)
                printf ("%4d  ",a[i][j]);
        }
        printf ("\n\n");    
    }
    while (getch());
}
СКАЖИТЕ КУДА ВПИХНУТЬ СРАВНЕНИЕ И ВЫВОД БОЛЬШЕГО ЧИСЛА!!!!
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.11.2010, 03:05 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Для начала вырубите капс.
3
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
21.11.2010, 11:27  [ТС] #6
Цитата Сообщение от silent_1991 Посмотреть сообщение
Для начала вырубите капс.
извините, но ожидал более умный ответ!!!
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
22.11.2010, 12:15  [ТС] #7
Помогите пожалуйста! Иначе мне грозит отчисление!!
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
#include <stdio.h>
#include <conio.h>
main ()
{
int a[4][5],
b[10],
n=5,m=6,i,j,k,c,f,max,r;
do
{/*ввод матрицы*/
printf ("\nVvedite dannie razmerom(%d*%d) POSTROCHNO:\n",n,m);
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{ printf ("a[%d][%d]= ",i+1,j+1); scanf ("%d",&a[i][j]); }
 
/*вывод в матричном виде*/
printf ("\n\nTABLICA\n");
for (i=0;i<n;i++)
{
printf ("\n");
for (j=0;j<m;j++)
printf ("%4d ",a[i][j]);
}
 
printf ("\n\nVvedite CHISLO a: ");
scanf ("%d",&c);
for (i=0;i<n;i++)
{
f=0;
for (j=0;j<m&&f==0;j++)
if (a[i][j]>c)
{ b[i]=j+1; f++; }
}
 
printf ("\nNomer pervogo elementa bol'she %d:\n",c);
for (i=0;i<n;i++)
printf ("V stroke %d - %d\n",i+1,b[i]);
max=a[0][0];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
}
}
printf("max=%d",max);
 
 
}
while (getch());
}
вот код
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
#include <stdio.h>
#include <conio.h>
main ()
{
int a[4][5],
b[10],
n=5,m=6,i,j,k,c,f,max,r;
do
{/*ввод матрицы*/
printf ("\nVvedite dannie razmerom(%d*%d) POSTROCHNO:\n",n,m);
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{ printf ("a[%d][%d]= ",i+1,j+1); scanf ("%d",&a[i][j]); }
 
/*вывод в матричном виде*/
printf ("\n\nTABLICA\n");
for (i=0;i<n;i++)
{
printf ("\n");
for (j=0;j<m;j++)
printf ("%4d ",a[i][j]);
}
 
printf ("\n\nVvedite CHISLO a: ");
scanf ("%d",&c);
for (i=0;i<n;i++)
{
f=0;
for (j=0;j<m&&f==0;j++)
if (a[i][j]>c)
{ b[i]=j+1; f++; }
}
 
printf ("\nNomer pervogo elementa bol'she %d:\n",c);
for (i=0;i<n;i++)
printf ("V stroke %d - %d\n",i+1,b[i]);
max=a[0][0];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
}
}
printf("max=%d",max);
 
 
}
while (getch());
}
помогите, тут серьёзно моя судьба решается!!!

 Комментарий модератора 
Не плодите одинаковых тем, картинки с внешних ресурсов будут удаляться - загружайте их на форум, используйте соответствующие теги форматирования.

http://www.cyberforum.ru/cpp-beginners/thread17474.html
3. Никто не дает гарантий,что вашу задачу кто-то будет решать и вообще рассмотрит. У всех есть проблемы,не только у вас. Не менее срочные. Если на вашу тему не обращают внимания - подумайте сами,опишите свои мысли по поводу задачи. Кто-нибудь купится и направит вас в правильное русло,а,может и сделает для вас программки. Если вы решили что-то самостоятельно - покажите код остальным.
0
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
22.11.2010, 12:40 #8
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
Иначе мне грозит отчисление!!

Не по теме:

Если ты учишься на программиста, то ты сам должен думать, как решать задачи.

0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
22.11.2010, 12:44  [ТС] #9
Цитата Сообщение от МаксимМВ Посмотреть сообщение

Не по теме:

Если ты учишься на программиста, то ты сам должен думать, как решать задачи.

Понимаешь, она мне уже в кошмарах снится!!! мне препод сказал сначала её через двумерный массив решать, потом через чтение с файла.......... а щас у меня так получается что он уезжает в пермь и его не будет до начала сессии........а мне ещё сдать 4 программы....... но в этой программе проблема в том что там 6 подзадач в ней, как оказалось он забыл разделить её и сказал" Ничего страшного- напишешь"
и получается мне не 4 программы сдавать в 10....... вот такая вот неприятность!!!
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.11.2010, 13:25 #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
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <stdio.h>
 
#define ROWS 5
#define COLS 6
 
int main()
{
        int i = 0;
        int j = 0;
        int buf = 0;
        int max = 0;
        int imax = 0;
        int table[ROWS][COLS];
 
 
        // Заполнение таблицы
 
        for(i = 0; i < ROWS; ++i) {
                printf("Товар #%d:\n", i);
 
                for(j = 0; j < COLS; ++j) {
                        printf("< ");
                        scanf("%d", &table[i][j]);
                }
        }
 
 
        // Вывод таблицы
 
        for(i = 0; i < ROWS; ++i) {
                for(j = 0; j < COLS; ++j)
                        printf("%.8d ", table[i][j]);
 
                printf("\n");
        }
 
 
        // Общий доход от продажи каждог вида товара
        // фактически есть сумма элементов каждой строки
 
        printf("\nОбщий доход от продажи каждого вида товара:\n");
 
        for(i = 0; i < ROWS; ++i) {
                printf("Товар #%d: ", i);
 
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
                printf("%d\n", buf);
                buf = 0;
        }
 
 
        // Общий доход, полученный на каждый день -
        // сумма элементов каждого столбца
 
        printf("\nОбщий доход, полученный за каждый день:\n");
 
        for(i = 0; i < COLS; ++i) {
                printf("День #%d: ", i);
 
                for(j = 0; j < ROWS; ++j)
                        buf += table[j][i];
 
                printf("%d\n", buf);
                buf = 0;
        }
 
 
        // Общий доход магазина - сумма всех элементов таблицы
 
        printf("\nОбщий доход магазина: ");
 
        for(i = 0; i < ROWS; ++i)
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
        printf("%d", buf);
        buf = 0;
 
 
        // По какому виду товара был получен максимальный доход за 6 дней
 
        printf("\nТовар с максимальной прибылью за 6 дней: ");
 
        for(i = 0; i < ROWS; ++i) {
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
                if(max < buf) {
                        max = buf;
                        imax = i;
                }
 
                buf = 0;
        }
 
        printf("%d", imax);
        imax = 0;
        max = 0;
 
 
        // В какой день была получена максимальная прибыль от продажи всех товаров
 
        printf("\nДень с максимальной прибылью: ");
 
        for(i = 0; i < COLS; ++i) {
                for(j = 0; j < ROWS; ++j)
                        buf += table[j][i];
 
                if(max < buf) {
                        max = buf;
                        imax = i;
                }
 
                buf = 0;
        }
 
        printf("%d", imax);
        imax = 0;
        max = 0;
 
        printf("\n");
        return 0;
}
Каждое задание решено как бы отдельно, хотя некоторые из них эффективнее было бы решать совместно.
Номера дней и товаров индексируются начиная с 0.
1
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
22.11.2010, 13:37  [ТС] #11
Цитата Сообщение от fasked Посмотреть сообщение
задания от 'а' до 'д'
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <stdio.h>
 
#define ROWS 5
#define COLS 6
 
int main()
{
        int i = 0;
        int j = 0;
        int buf = 0;
        int max = 0;
        int imax = 0;
        int table[ROWS][COLS];
 
        // Заполнение таблицы
 
        for(i = 0; i < ROWS; ++i) {
                printf("Товар #%d:\n", i);
 
                for(j = 0; j < COLS; ++j) {
                        printf("< ");
                        scanf("%d", &table[i][j]);
                }
        }
 
 
        // Вывод таблицы
 
        for(i = 0; i < ROWS; ++i) {
                for(j = 0; j < COLS; ++j)
                        printf("%.8d ", table[i][j]);
 
                printf("\n");
        }
 
 
        // Общий доход от продажи каждог вида товара
        // фактически есть сумма элементов каждой строки
 
        printf("\nОбщий доход от продажи каждого вида товара:\n");
 
        for(i = 0; i < ROWS; ++i) {
                printf("Товар #%d: ", i);
 
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
                printf("%d\n", buf);
                buf = 0;
        }
 
 
        // Общий доход, полученный на каждый день -
        // сумма элементов каждого столбца
 
        printf("\nОбщий доход, полученный за каждый день:\n");
 
        for(i = 0; i < COLS; ++i) {
                printf("День #%d: ", i);
 
                for(j = 0; j < ROWS; ++j)
                        buf += table[j][i];
 
                printf("%d\n", buf);
                buf = 0;
        }
 
 
        // Общий доход магазина - сумма всех элементов таблицы
 
        printf("\nОбщий доход магазина: ");
 
        for(i = 0; i < ROWS; ++i)
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
        printf("%d", buf);
        buf = 0;
 
 
        // По какому виду товара был получен максимальный доход за 6 дней
 
        printf("\nТовар с максимальной прибылью за 6 дней: ");
 
        for(i = 0; i < ROWS; ++i) {
                for(j = 0; j < COLS; ++j)
                        buf += table[i][j];
 
                if(max < buf) {
                        max = buf;
                        imax = i;
                }
 
                buf = 0;
        }
 
        printf("%d", imax);
        imax = 0;
        max = 0;
 
 
        // В какой день была получена максимальная прибыль от продажи всех товаров
 
        printf("\nДень с максимальной прибылью: ");
 
        for(i = 0; i < COLS; ++i) {
                for(j = 0; j < ROWS; ++j)
                        buf += table[j][i];
 
                if(max < buf) {
                        max = buf;
                        imax = i;
                }
 
                buf = 0;
        }
 
        printf("%d", imax);
        imax = 0;
        max = 0;
 
        printf("\n");
        return 0;
}
Каждое задание решено как бы отдельно, хотя некоторые из них эффективнее было бы решать совместно.
Номера дней и товаров индексируются начиная с 0.
!!!!!!!!!!!!!!!!!Спасибо, огромное!!!!!!!!!!!!!!!!!!!!!!!!!!мир не без добрых людей!!! Пусть тебе всегда в жизни везет.......!!! и ты спас точно уже одного человека!!!!!!!!!!!!!!!!!!!СПАСИБО, от всего сердца!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2010, 13:37
Привет! Вот еще темы с ответами:

Как заполнить двумерный массив? - C++
У меня есть массив for(int i = 0; i &lt; x; i++) { for(int j = 0; j &lt; y; j++) { // какие-то действия ...

Как инициализировать двумерный массив? - C++
подскажите как инициализировать двумерный массив long long int mass;

Как сравнивать char '\'? - C++
Компиляция следуещего кода приводит к ошибке: if(field == field &amp;&amp; field == '\') turnOn = true; после слэша ожидается значение...

как сравнивать даты? - C++
Имеется текстовый файл, в нем список учебных дней когда есть математика, в формате &quot;дд/мм/гг,дд/мм/гг,дд/мм/гг,&quot; и т.д. и даты начала и...


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

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

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