Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
rafael999
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 148
1

Найти произведение наименьших элементов каждого столбца матрицы и поменять местами 1-й и 3-й столбцы

19.01.2014, 11:24. Просмотров 780. Ответов 4
Метки нет (Все метки)

Посмотрите пожалуйста, почему у меня в 3 столбце минимальный элемент неправильно находит .
Вот задание:
Кликните здесь для просмотра всего текста
Найти произведение наименьших элементов каждого столбца матрицы и поменять местами 1-й и 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
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
#include"stdafx.h"
#include<iostream>
#include<iomanip>
#include<fstream>
#include<math.h>
using namespace std;
void read_matr(double Y[4][3]){
ifstream f("c://qwer.txt");
for(int i=0; i<4; i++){
for(int j=0; j<3; j++){
    f>>Y[i][j];}}}
 void print_matr(double Y[4][3]){   
 cout<<" "<<endl;
for(int i=0; i<4; i++){
for(int j=0; j<3; j++){
cout<<setw(10)<<Y[i][j];}
 cout<<endl;}}
int main(){
double A[4][3],t=0,min=1000,p=1;
read_matr(A);
 cout<<"ishodnaja matrica:"<<endl;
 print_matr(A);
cout<<endl;
 
{for(int i=0; i<4; i++){
if(A[i][0]<min){
    min=A[i][0];}}}
cout<<"min1="<<min<<endl;
p=p*min;
 
{for(int i=0; i<4; i++){
if(A[i][1]<min){
    min=A[i][1];}}}
cout<<"min2="<<min<<endl;
p=p*min;
 
 
{for(int i=0; i<4; i++){
if(A[i][2]<min){
    min=A[i][2];}}}
cout<<"min3="<<min<<endl;
p=p*min;
 
 
cout<<endl;
cout<<"proizvedenie="<<p<<endl;
 
{for(int i=0; i<4; i++){
for(int j=0; j<3; j++){
t=A[i][0];
A[i][0]=A[i][2];
A[i][2]=t;}}}
print_matr(A);
 
return 0;}


Заранее спасибо!
0
Миниатюры
Найти произведение наименьших элементов каждого столбца матрицы и поменять местами 1-й и 3-й столбцы  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 11:24
Ответы с готовыми решениями:

Массив: Найти сумму наименьших элементов каждого столбца матрицы и их координаты
Найти сумму наименьших элементов каждого столбца матрицы и их координаты

Найти среднее арифметическое наименьших элементов каждого столбца квадратной матрицы
Дана квадратная матрица. Найти среднее арифметическое наименьших элементов...

Функции: найти произведение элементов каждого столбца матрицы
с использованием подпрограммы найти произведение элементов каждого столбца...

Упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца
упорядочить столбцы матрицы по не возрастанию значений наименьших элементов...

Для каждого столбца матрицы найти произведение его элементов.
Дана матрица размера M × N. Для каждого столбца матрицы найти произведение его...

4
VaDiG
30 / 27 / 18
Регистрация: 13.01.2014
Сообщений: 63
19.01.2014, 11:49 2
rafael999,
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
#include<iostream>
#include<iomanip>
#include<fstream>
 
using namespace std;
 
void read_matr(double Y[4][3])
{
    ifstream f("c://qwer.txt");
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 3; j++)
            f>>Y[i][j];
}
 
 void print_matr(double Y[4][3])
 {
     cout << " " << endl;
    for(int i = 0; i < 4; i++)
    {
        for(int j = 0; j < 3; j++)
            cout << setw(10) << Y[i][j];
    cout << endl;
    }
 }
 
int main()
{
    double A[4][3], t=0, min, p=1;
    read_matr(A);
    cout << "ishodnaja matrica:" << endl;
    print_matr(A);
    cout << endl;
 
    for(int j = 0; j < 3; j++)
    {
        min = A[0][j];
        for(int i = 0; i < 4; i++)
            if(A[i][j] < min)
            min = A[i][j];
        cout << "min" << j + 1 << "=" << min << endl;
        p = p * min;
    }
 
    cout << endl;
    cout << "proizvedenie=" << p <<endl;
 
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 3; j++)
        {
            t = A[i][0];
            A[i][0] = A[i][2];
            A[i][2] = t;
        }
    print_matr(A);
 
    system("pause");
    return 0;
}
вот смотри
1
recoder
131 / 131 / 53
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
19.01.2014, 11:49 3
Возможно, после того, как у вас во втором столбце нашелся минимальный элемент, вы для третьего столбца не обнуляете переменную min и у вас получается что min = -8, при проверке не одно значение из третьего столбца не будет меньше него. Стоит, наверное просто обнулять переменную min после каждого столбца.
1
VaDiG
30 / 27 / 18
Регистрация: 13.01.2014
Сообщений: 63
19.01.2014, 12:06 4
Цитата Сообщение от recoder Посмотреть сообщение
Возможно, после того, как у вас во втором столбце нашелся минимальный элемент, вы для третьего столбца не обнуляете переменную min и у вас получается что min = -8, при проверке не одно значение из третьего столбца не будет меньше него. Стоит, наверное просто обнулять переменную min после каждого столбца.
можно и так, но в коде много лишнего
1
recoder
131 / 131 / 53
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
19.01.2014, 12:44 5
Цитата Сообщение от VaDiG Посмотреть сообщение
можно и так, но в коде много лишнего
Не спорю.
1
19.01.2014, 12:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 12:44

Для каждого столбца матрицы найти произведение его элементов
помогите пожалуйста с решение на С++, я не программист и на него не учусь, не...

Вычислить произведение элементов каждого столбца матрицы, и найти среди них наименьшее
Дан двумерный массив А который состоит из m и строк n столбцов. Составить...

С использованием указателей найти произведение наибольших элементов каждого столбца матрицы и их координаты
Нужно использовать указатели .Как? Найти произведение наибольших элементов...


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

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

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