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

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

Войти
Регистрация
Восстановить пароль
 
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
#1

Написать программу, которая вычисляет наибольший элемент в матрице 3*4 - C++

09.06.2013, 13:17. Просмотров 536. Ответов 10
Метки нет (Все метки)

Написать программу, которая вычисляет наибольший элемент в матрице 3*4

Добавлено через 7 минут
Цитата Сообщение от Марина1312 Посмотреть сообщение
Написать программу, которая вычисляет наибольший элемент в матрице 3*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
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "Russian");
const int n = 3, m = 4;
srand(time(0));
int a[n][m], b[n][m],max;
cout << "Первоначальный массив: \n";
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
        {a[i][j] = rand() % 10;     
        cout << a[i][j] << " \n";
        max = a[0][0];
    if (a[i][j]<max)
        max=a[i][j];}
    b[0][0] = max;                                  
}
cout << "Преобразованный массив:\n";
for (int i = 0; i < n; i++)
    for (int j=0; j<m; j++)
    cout << b[i][j] << " \n";
return 0;
}
Добавлено через 6 минут
да и там ошибку одну нашла вместо > меньше написала
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 13:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая вычисляет наибольший элемент в матрице 3*4 (C++):

Написать программу, которая вычисляет максимальный элемент массива. - C++
Всем доброе время суток, начал изучать С++ и многое чего еще не знаю. Помогите пожалуйста решить вот такую задачу: Дан...

Написать программу, которая вычисляет выражение - C++
Помогите. Написать программу, которая вычисляет выражение.

Написать программу, которая вычисляет выражение - C++
Помогите Написать программу, которая вычисляет выражение.

Написать программу, которая вычисляет условие - C++
Помогите. Написать программу на С++, которая вычисляет условие.

Написать программу, которая вычисляет условие > - C++
Помогите. Написать программу на С++, которая вычисляет условие

Написать программу,которая вычисляет среднее арифметическое - C++
Решить задачу двумя методами:используя цикл for и используя цикл whilе(либо do-whilе). Написать программу,которая вычисляет среднее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
09.06.2013, 13:21 #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
27
#include<iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main() {
    const int n = 3;
    const int m = 4;
    int arr[n][m];
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            arr[i][j] = -20 + rand() % 50;
            j < m - 1 ? cout << arr[i][j] << ' ' : cout << arr[i][j] << endl;
        }
    }
    int max = arr[0][0];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (arr[i][j] > max)max = arr[i][j];
        }
    }
    cout << max << endl;
 
    return 0;
}
0
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
09.06.2013, 13:22 #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
27
28
29
30
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
setlocale(LC_CTYPE, "Russian");
const int n = 3, m = 4;
srand(time(0));
int a[n][m];
cout << "Массив заполненный случайным образом: \n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
  a[i][j] = rand() % 10;    
  cout << a[i][j] << " ";
}
cout<<"\n";
}
 
int max = a[0][0];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) if ( max > a[i][j] ) max = a[i][j];
 
cout << "\nМаксимальный элемент: "<<max<<"\n";
system("pause");
return 0;
}
0
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
09.06.2013, 13:50  [ТС] #4
Цитата Сообщение от Leshak Посмотреть сообщение
А зачем вам два двумерных массива для нахождения максимального элемента?)
мне нужно сформировать массив, чтобы максимальный элемент первоначального оказался в левом верхнем углу

Добавлено через 13 минут
теперь сделала так, но когда на экран выводит вторую матрицу первый элемент нормальный, а следующие выводит околесицу какую то..


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
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "Russian");
const int n = 3, m = 4;
srand(time(0));
int a[n][m], b[n][m],max;
cout << "Первоначальный массив: \n";
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        a[i][j] = rand() % 10;      
        cout << a[i][j] << " ";         
    }
    cout << endl;               
}
max=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];
b[0][0]=max;
{cout << "Преобразованный массив \n";
        
for (int i = 0; i < n; i++)
    for (int j=0; j<m; j++)
    cout << b[i][j] << " ";}
return 0;
}
 
 
может в этом месте как то по другому надо:
 
{cout << "Преобразованный массив \n";
        
for (int i = 0; i < n; i++)
    for (int j=0; j<m; j++)
    cout << b[i][j] << " ";}
return 0;
}
Добавлено через 7 минут
БЛИН!!!ее еще и через объектно-ориентированный подход надо(

 Комментарий модератора 
Используйте теги оформления кода.
0
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
09.06.2013, 14:02 #5
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>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main() {
    const int n = 3;
    const int m = 4;
    int arr[n][m], arr2[n][m];
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            arr[i][j] = -20 + rand() % 50;
            arr2[i][j] = arr[i][j];
            j < m - 1 ? cout << arr[i][j] << ' ' : cout << arr[i][j] << endl;
        }
    }
    cout << endl;
    int max = arr[0][0];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (arr[i][j] > max)max = arr[i][j];
        }
    }
    cout << max << endl;
    int t = arr[0][0];
    cout << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (arr2[i][j] == max) {
                arr2[i][j] = t;
 
            }
        }
    }
    arr2[0][0] = max;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            j < m - 1 ? cout << arr2[i][j] << ' ' : cout << arr2[i][j] << endl;
        }
    }
 
    return 0;
}
0
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
09.06.2013, 14:12 #6
Марина1312, выложите полное условие задания .
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
09.06.2013, 14:25 #7
Цитата Сообщение от Марина1312 Посмотреть сообщение
БЛИН!!!ее еще и через объектно-ориентированный подход надо(
нет не надо преждевременно забивать голову. Сначала научись писать простейшие программы. И да. пиши задачу полностью.

Belfegor, многовато что-то циклов в твоей программе.
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>
#include <ctime>
using namespace std;
int main()
{
    const int n = 3, m = 4;
    int a[n][m], mi, mj;
    setlocale(LC_CTYPE, "Russian");
    srand(time(0));
    cout << "Первоначальный массив: "<<endl;
    mi=mj=0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++){
            a[i][j] = rand() % 10;     
            cout << a[i][j] << " ";
            if (a[i][j]>a[mi][mj]){
                mi=i;
                mj=j;
            }
        }
        cout<<endl;
    }
    cout << "максимальный элемент A["<<mi<<"]["<<mj<<"]="<<a[mi][mj]<<endl;
    return 0;
}
1
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
09.06.2013, 14:27 #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Belfegor, многовато что-то циклов в твоей программе.
Цитата Сообщение от Марина1312 Посмотреть сообщение
мне нужно сформировать массив, чтобы максимальный элемент первоначального оказался в левом верхнем углу
0
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
09.06.2013, 22:50  [ТС] #9
Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
нет не надо преждевременно забивать голову. Сначала научись писать простейшие программы. И да. пиши задачу полностью.

Belfegor, многовато что-то циклов в твоей программе.
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>
#include <ctime>
using namespace std;
int main()
{
    const int n = 3, m = 4;
    int a[n][m], mi, mj;
    setlocale(LC_CTYPE, "Russian");
    srand(time(0));
    cout << "Первоначальный массив: "<<endl;
    mi=mj=0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++){
            a[i][j] = rand() % 10;     
            cout << a[i][j] << " ";
            if (a[i][j]>a[mi][mj]){
                mi=i;
                mj=j;
            }
        }
        cout<<endl;
    }
    cout << "максимальный элемент A["<<mi<<"]["<<mj<<"]="<<a[mi][mj]<<endl;
    return 0;
}
Дана матрица чисел размером 3х4. Переставляя ее строки и столб-цы, добиться того, чтобы ее наибольший элемент (один из них) оказался в верхнем левом углу. Использовать объектно-ориентированный подход.

Добавлено через 2 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
нет не надо преждевременно забивать голову. Сначала научись писать простейшие программы. И да. пиши задачу полностью.

Belfegor, многовато что-то циклов в твоей программе.
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>
#include <ctime>
using namespace std;
int main()
{
    const int n = 3, m = 4;
    int a[n][m], mi, mj;
    setlocale(LC_CTYPE, "Russian");
    srand(time(0));
    cout << "Первоначальный массив: "<<endl;
    mi=mj=0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++){
            a[i][j] = rand() % 10;     
            cout << a[i][j] << " ";
            if (a[i][j]>a[mi][mj]){
                mi=i;
                mj=j;
            }
        }
        cout<<endl;
    }
    cout << "максимальный элемент A["<<mi<<"]["<<mj<<"]="<<a[mi][mj]<<endl;
    return 0;
}
я ее так то решила уж,но практически так же как у вас,а вот этот подход меня теперь смущает(
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
09.06.2013, 23:14 #10
Цитата Сообщение от Марина1312 Посмотреть сообщение
я ее так то решила уж,но практически так же как у вас,а вот этот подход меня теперь смущает(
Ничего ты не решил. Это не решение вообще-то. Ты в первом посте просил
Цитата Сообщение от Марина1312 Посмотреть сообщение
Написать программу, которая вычисляет наибольший элемент в матрице 3*4
Так что пока что мы просто вычисляли этот элемент. Нигде не было сказано, что надо столбцы двигать!
0
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
09.06.2013, 23:16  [ТС] #11
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ничего ты не решил. Это не решение вообще-то. Ты в первом посте просилТак что пока что мы просто вычисляли этот элемент. Нигде не было сказано, что надо столбцы двигать!
я про это забыла даже
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2013, 23:16
Привет! Вот еще темы с ответами:

Написать программу, которая вычисляет среднее арифметическое - C++
Помогите пожалуйста написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры.

Написать программу на языке С + + которая вычисляет условия: - C++
Написать программу на языке С + + которая вычисляет условия: Вот первое условие: http://www.cyberforum.ru/attachments/281524d1371057949...

Написать функцию,которая вычисляет и печатает максимальный элемент каждого столбца матрицы - C++
1.Которая генерирует 3 последовательности из 10 случайных чисел в диапазоне от 1 до 10,выводит каждую последовательность на экран и...

Написать программу, которая вычисляет значение e^2 с точностью до 0,001 - C++
Помогите решить такое задание: 1. Написать программу, которая вычисляет значение e2(здесь квадрат) с точностью до 0,001. Известно, что ...


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

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

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