Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Help me please с матрицей!!!!!!!!!


Автор: DGV 5.12.2005, 21:55
Задача такова:
Квадратная матрица N*N целых чисел.
Вывести все столбцы матрицы, сумма которых положительна. Проссумировать элементы матрицы по периметру.Вывести все элементв матрицы, содержащие цифру, вводимую с экрана по запросу пользователем , на остальных местах проставить нули.

Добавлено @ 22:02
Просто я чайник, но хочу обучаться, стараюсь. Очень срочно нужна помощь, пожалуйста!!!!!!!!!

Автор: Dov 5.12.2005, 23:41
Цитата(DGV @ 5.12.2005, 21:55)
Просто я чайник, но хочу обучаться, стараюсь.

Вместо этого лучше скажи на каком ИЗЫКЕ Очень срочно нужна помощь, пожалуйста!!!!!!!!!

Автор: Dov 6.12.2005, 02:40
С++ устроит?
Код
#include <iostream.h>
#include <iomanip.h>

#define SIZE 3
#define LAST SIZE - 1

bool digitInNumber(int num, int dig)
{
    while(num)
    {
        if(num % 10 == dig || num % 10 == -dig)
            return true;
        num /= 10;
    }

    return false;
}

int main()
{
    int matr[][SIZE] = {{  57, -124,  36},
                        { 684, -287,  99},
                        {-521,   41, -84}};    
    int i,
        j;
    int sum;
    int digit;

    // выводим матрицу
    cout <<"Source matrix: \n"; 
    for(i = 0; i < SIZE; i++)
    {
        for(j = 0; j < SIZE; j++)
            cout << setw(6) << matr[i][j];
        cout << endl;
    }

    // выводим все столбцы матрицы, сумма которых положительна
    cout <<"\nPositive columns: \n";
    for(i = 0; i < SIZE; i++)    
    {
        sum = 0;
        for(j = 0; j < SIZE; j++)
            sum += matr[j][i];
        if(sum > 0)
        {
            cout << "Column " << i << ":";
            for(int h = 0; h < SIZE; h++)
                cout << setw(6) << matr[h][i];
            cout << endl;
        }
    }

    // суммируем элементы матрицы по периметру
    sum = 0;
    for(i = 0; i < LAST; i++)
        sum += matr[0][i] + matr[i][LAST] + matr[LAST][LAST - i] + matr[LAST - i][0];
    cout << "\nSum elements on perimeter: " << sum << endl;

    // Выводим все элементв матрицы, содержащие цифру,
    // вводимую с экрана по запросу пользователя,
    // на остальных местах проставляем нули

    cout <<"\nEnter digit[0...9], please: ";
    cin >> digit;

    cout <<"\nMatrix output: \n";    
    for(i = 0; i < SIZE; i++)
    {
        for(j = 0; j < SIZE; j++)
        {
            cout << setw(6);
            cout << (digitInNumber(matr[i][j], digit) ? matr[i][j] : 0);
        }
        cout << endl;
    } 

    return 0;
}


Автор: DGV 6.12.2005, 19:05
VBA если можно пожалуйста

Автор: Pakshin A. S. 6.12.2005, 21:14
Модератор: Выношуустное предупреждение: название должно отражать суть и соответствовать правилам форума, к тому же должен указываться язык программирования сразу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)