Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2013, 19:24   #1
RG21
Пользователь
 
Регистрация: 17.04.2013
Сообщений: 15
По умолчанию Как вывести матрицу.С++.

Почему не выводит матрицу после модификации и как это исправить?
Код:

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
 
using namespace std; 
 
void OutputArray(int **Array, int Line, int Column)
{
    for(int i=0; i<Line; i++)
    {
        for(int j=0; j<Column; j++)        
            cout<<setw(3)<<Array[i][j]<<" ";        
        cout<<endl;
    }
}
 
void DeleteArray(int **NewArray, int Line, int Column, int MaxElem)
{
    int String=Line+1;
    for(int i=0; i<String; i++)
    {
        for(int j=0; j<Column; j++)
        {
            if(abs(NewArray[i][j]) == abs(MaxElem))
            {
                for(int k = i; k<String - 1; k++)
                    for(int a=0; a<Column; a++)
                    {
                        NewArray[k][a] = NewArray[k+1][a];
                    }
                String--;
                for(int l =  j; l<Column - 1; l++)
                {
                    for(int a=0; a<String; a++)
                    {
                        NewArray[a][l] = NewArray[a][l+1];
                    }
                }
                Column--;
            }
        }
    }
    cout<<"Матрица после модификации:"<<endl;
    OutputArray(NewArray, Line, Column);
}
void MaxElemArray(int **Array, int Line, int Column)
{
    int MaxElem=0; 
    int MaxLine=0, MaxColumn=0; 
 
    MaxElem = abs(Array[0][0]); 
                               
    for(int i=0; i<Line; i++)    
        for(int j=0; j<Column; j++)        
            if(abs(Array[i][j]) > abs(MaxElem))
            {
                MaxElem = Array[i][j];
                MaxLine = i;
                MaxColumn = j;
            }            
    cout<<"Максимальный элемент: "<<MaxElem<<endl;
    cout<<"Координаты: ["<<MaxLine<<"]["<<MaxColumn<<"]"<<endl;
}
 
void GenerationArray(int **Array, int Line, int Column)
{
    for(int i=0; i<Line; i++)    
        for(int j=0; j<Column; j++)        
            Array[i][j] = rand() % 100 - 50;
    cout<<"Сгенерированный массив:"<<endl;
    OutputArray(Array, Line, Column);
    MaxElemArray(Array, Line, Column);
}
 
int main()
{
    setlocale(0, "rus"); 
    srand(time(NULL)); 
    int **Array; 
    int Line=0, Column=0; 
    cout<<"Количество строк в матрице: ";
    cin>>Line;
    cout<<"Количество столбцов в матрице: ";
    cin>>Column;
    Array = new int * [Line];
    for (int i=0; i<Line; i++)    
        Array[i] = new int[Column];    
    GenerationArray(Array, Line, Column);
    for (int i=0; i<Line; i++)    
        delete [] Array[i];
 system("pause");
    return 0;
}
RG21 вне форума Ответить с цитированием
Старый 27.05.2013, 20:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
    GenerationArray(Array, Line, Column);OutputArray(Array, Line, Column);
    for (int i=0; i<Line; i++) delete [] Array[i];
Всего-то...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Считать матрицу и вывести ответ. bestnicer Помощь студентам 7 08.11.2012 12:09
Как вывести матрицу на экран.(Visual Basic) Anna77 Помощь студентам 3 16.04.2012 19:41
Из трех массивов вывести матрицу Shukhrat Паскаль, Turbo Pascal, PascalABC.NET 2 13.04.2011 10:16
как умножить матрицу(3на4) на матрицу(4на3) в делфи? Ромка678 Помощь студентам 1 28.11.2009 08:01
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57