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

Матрица. - C++

Восстановить пароль Регистрация
 
Five-P
 Аватар для Five-P
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 10
08.01.2011, 15:12     Матрица. #1
Не пойму как решить задачу на матрицу в Си.
Задана матрица А(m,n), m<=8,m<=10.Вычеркнуть в матрице А строку с минимальной суммой элементов.Распечатать последовательно исходную матрицу и преобразованную в виде матриц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 15:12     Матрица.
Посмотрите здесь:

матрица C++
матрица C++
C++ матрица
C++ Матрица
C++ Матрица
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 15:24     Матрица. #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
28
29
30
#include <iostream.h>
main()
{
        int A[100][100], i, m, n, j, min=-777, s=0, Imin;
        cout<<" Vvedite m i n : "; cin>>m>>n;
        cout<<" Vvedite matricy :\n";
        for (i=0; i<m; i++) for (j=0; j<n; j++) cin>>A[i][j];
        for (i=0; i<m; i++)
        {
            for (j=0; j<n; j++)
            {
                s+=A[i][j];
            }
            if (s<min) {min=s; Imin=i;}
            s=0;
        }
        cout<<"\n\n Isxodnaya matrica :\n\n";
        for (i=0; i<m; i++)
        {
            for (j=0; j<n; j++)
            {
                if (i!=Imin) cout<<A[i][j]<<" ";
                if (i==Imin) {s=1; break;}
            }
            if (s==0) cout<<"\n";
            s=0;
        }
        system("pause");
return 0;
}
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
08.01.2011, 15:53     Матрица. #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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
void main()
{
    int n,m;
    int a[10][10];
    int min=0,imin=0,sum=0;
 
    cout<<"Enter n and m: ";
    cin>>n>>m;
 
    cout<<"Enter your matrix: \n";
 
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            cin>>a[i][j];
    }
 
    for (int j=0;j<m;j++)
        min+=a[0][j];
 
    for (int i=0;i<n;i++)
    {
        sum=0;
        for (int j=0;j<m;j++)
        {
            sum+=a[i][j];
        }
 
        if (sum<min) 
        {
            imin=i;
            min=sum;
        }
        
    }
 
    for (int i=0;i<n;i++)
    {
        if (i==imin) i++;
 
        for (int j=0;j<m;j++)
        {
            cout<<a[i][j]<<"\t";
        }
        cout<<"\n";
    }
}
Добавлено через 8 минут
Цитата Сообщение от Алексaндр Посмотреть сообщение
min=-777
Ошибочка здесь будет. Проскочит один цикл, если сумма в каждой строке > -777
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 16:02     Матрица. #4
аха ) я знаю, но просто лень было уже сделать, чтобы min разу стало суммой элементов 1 строки )
та и маловероятно, что сума будет -777 )))

если не веришь - за 5 сек переделаю.

Добавлено через 12 секунд
то4нее, доделаю

Добавлено через 2 минуты
C++
1
2
3
4
cout<<" Vvedite matricy :\n";
 for (i=0; i<m; i++) for (j=0; j<n; j++) {cin>>A[i][j]; if (i==0) min+=A[i][j];}
 for (i=1; i<m; i++)
{
делов то...

Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
08.01.2011, 16:04     Матрица. #5
Как я тебя понимаю=) Порой так лень обрабатывать возможные ошибки, когда алгоритм уже разжевал=)
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
08.01.2011, 16:16     Матрица. #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
#include <iostream>
#include <conio.h>
#define n 8
#define m 10
using namespace std;
int main()
{
    int a [n][m];
    int b [n-1][m];
    int q [n];
    int l, min;
    for(int i=0;i<n;i++)
    {
        q[i]=0;
        for(int k=0;k<m;k++)
        {
            cin>>a[i][k];
            q[i]+=a[i][k];
        }
        if(i==0)
        {
            l=0;
            min=q[0];
        }
        else if(q[i]<min)
             {
                 l=i;
                 min=q[i];
             }
    }
    for(int x=0;x<n;x++)
        for(int y=0;y<m;y++)
            if(x>=l)
                b[x][y]=a[x+1][y];
            else
                b[x][y]=a[x][y];
    getch();
    return 0;
}
Yandex
Объявления
08.01.2011, 16:16     Матрица.
Ответ Создать тему
Опции темы

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