Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Программа на матрицу. (http://forum.oszone.net/showthread.php?t=175996)

soon-end 18-05-2010 19:30 1416221

[решено] Программа на матрицу.
 
Прошу помочь написать программу на языке C++ (Borland).
Задание: Данная матрица М(5,5). Среди элементов побочной диагонали найти наибольший элемент. Вывести его на печать и обнулить строку и столбец, в котором он расположен. За правильное написание вознаграждение!

Drongo 18-05-2010 21:14 1416280

Цитата:

Цитата soon-end
За правильное написание вознаграждение! »

Да? А какое это будет вознаграждение? :)

lxa85 18-05-2010 22:31 1416319

А сессия то, все ближе и ближе. :)
Цитата:

Цитата soon-end
За правильное написание вознаграждение! »

Сколько? Я студентам подкину для разминки:)
При должной заинтересованности даже с отчетом к пятнице.

LilLoco 18-05-2010 22:49 1416335

ну приблизительно как то так :) :
Код:

#include "stdafx.h"
#include "iostream"
using namespace std;


void main()
{
        int matrix[5][5];
        int imax=0,jmax=0,max=0;
        for (int i=0; i<5; i++)
                for (int j=0; j<5; j++)
                {
                        cin >> matrix[i][j];
                }
        int z=4;
        for (int i = 0; i<5; i++)
        {
                if (matrix[i][z]>max)
                {
                        max = matrix[i][z];
                        imax = i;
                        jmax = z;
                }
                z--;
        }
        for (int i = 0;i<5;i++)
        {
                matrix[i][jmax] = 0;
                matrix[imax][i] = 0;
        }
        }
}

а может и не так :) так что сильно не ругайте :)

soon-end 19-05-2010 00:04 1416385

Спс, напиши плиз свою асю и wm кошелек LilLoco,

lxa85 19-05-2010 00:20 1416400

LilLoco, ай, яй, яй. Косячёкс у тебя в коде :)
+ комментарии отсутствуют.
Я бы отправил на доработку. (Без обид :) )

LilLoco 19-05-2010 07:57 1416491

Цитата:

Цитата lxa85
LilLoco, ай, яй, яй. Косячёкс у тебя в коде »

А Не Мог Бы Ты Подсказать Где Именно Косячок :) :) :)

Цитата:

Цитата lxa85
+ комментарии отсутствуют. »

Буду Исправляться :)

Цитата:

Цитата soon-end
Спс, напиши плиз свою асю и wm кошелек LilLoco, »

Программа точно работает ?)

lxa85 19-05-2010 08:41 1416502

LilLoco, намекну, дальше догадаешься сам.
Все элементы матрицы могут быть отрицательными.

LilLoco 19-05-2010 10:48 1416572

логично, я как то не подумал об этом :) спасибо :)

Ну значит просто присвоить 1 элемент массива за максимальный!?!?!!?!

Код:

#include "stdafx.h"
#include "conio.h"
#include "iostream"
using namespace std;


void main()
{
        int matrix[5][5];
        int imax=0,jmax=0;
        for (int i=0; i<5; i++)
                for (int j=0; j<5; j++)
                {
                        cin >> matrix[i][j];
                }
        int z=3;
        max = matrix[0][4];
        for (int i = 1; i<5; i++)
        {
                if (matrix[i][z]>max)
                {
                        max = matrix[i][z];
                        imax = i;
                        jmax = z;
                }
                z--;
        }
        for (int i = 0;i<5;i++)
        {
                matrix[i][jmax] = 0;
                matrix[imax][i] = 0;
        }
        }
        cout >> max;
        getch();
}


lxa85 19-05-2010 12:24 1416626

Цитата:

Цитата LilLoco
Ну значит просто присвоить 1 элемент массива за максимальный!? »

ага :)

soon-end 19-05-2010 22:05 1417048

Программа не выполняется(((( Много ошибок... Использовался Borland C++. Не подскажите как устранить проблему?

lxa85 19-05-2010 23:32 1417091

soon-end, Если ты нам расскажешь как ты запускал программу, и какие ошибки она при этом выдает, то шанс есть.
LilLoco, за тех. поддержку берешь отдельно ? ;)
Переменная max не определена.
Начальный элемент выбран, а imax, jmax, так и остались равны 0. Это приводит к ошибкам.
Код:

#include <iostream>

//using namespace std;

int main() {
        int matrix[5][5];
        int imax=0,jmax=0,max;

        for (int i=0; i<5; i++)
                for (int j=0; j<5; j++)
                {
                        std::cin >> matrix[i][j];
                }

        for (int i = 0; i<5; i++)
        {
            for (int j = 0; j<5; j++)
            {
                std::cout << matrix[i][j] << " ";
            }
            std::cout << std::endl;
        }

        int z=3;
        max = matrix[0][4];
        imax = 0;
        jmax = 4;

        for (int i = 1; i<5; i++)
        {
                if (matrix[i][z]>max)
                {
                        max = matrix[i][z];
                        imax = i;
                        jmax = z;
                }
                z--;
        }

        for (int i = 0;i<5;i++)
        {
                matrix[i][jmax] = 0;
                matrix[imax][i] = 0;
        }
       
        for (int i = 0; i<5; i++)
        {
            for (int j = 0; j<5; j++)
            {
                std::cout << matrix[i][j] << " ";
            }
            std::cout << std::endl;
        }
       
        std::cout << max;
 
return 0;
}

Среда разработки NetBeans, компилятор gcc

soon-end 19-05-2010 23:38 1417093

Все, LilLoco исправил. Вот правильная прога:
Код:

#include "conio.h"
#include "iostream"


void main()
{
int matrix[5][5];
int imax=0,jmax=0;
int max;
int i;
for (i=0; i<5; i++)
for (j=0; j<5; j++)
{
cin >> matrix[i][j];
}
int z=3;
max = matrix[0][4];
for (i = 1; i<5; i++)
{
if (matrix[i][z]>max)
{
max = matrix[i][z];
imax = i;
jmax = z;
}
z--;
}
for (i = 0;i<5;i++)
{
matrix[i][jmax] = 0;
matrix[imax][i] = 0;
}
}
cout >> max;
getch();
}

Эта, без ошибок

lxa85 19-05-2010 23:47 1417099

soon-end, не в обиду LilLoco, но простейший тест.
Код:

1 1 1 1 5
1 1 1 4 1
1 1 3 1 1
1 2 1 1 1
1 1 1 1 1


soon-end 19-05-2010 23:49 1417100

что за тест?

не знаешь как решить?
Вывести на экран отдельно позитивные элементы массива вещества х(16) и отдельно негативные элементы. Найти максимальный элемент среди позитивных и минимальный среди негативных элементов.

lxa85 19-05-2010 23:54 1417104

Цитата:

Цитата soon-end
что за тест? »

:) Это проверочное задание. Выполни его, и тебе все станет понятно.
Цитата:

Цитата soon-end
не знаешь как решить? »

Знаю, с использованием 3 целочисленных массивов, 48(3х16) сравнений, 3х переменных целого типа. Но я этим не занимаюсь.


Время: 18:42.

Время: 18:42.
© OSzone.net 2001-