矩阵替换

来源:互联网 发布:刀剑乱舞胁差极化数据 编辑:程序博客网 时间:2024/04/28 12:45
一个矩阵,凡是出现0的位置,其横列都将被替换为0
#include "iostream"#include <time.h>using namespace std;void zero(int * arraysforfind[] ,int r,int co){    int row = r;    int column = co;    int *temprow = new int [row];    int *tempcolumn = new int [column];    for (int i = 0; i < row; ++i)    {        temprow[i] = 1;        //cout<<temprow[i]<<" ";    }    for (int i = 0; i < column; ++i)    {        tempcolumn[i] = 1;           // cout<<tempcolumn[i]<<" ";    }    for (int i = 0; i < row; ++i)    {        for (int j = 0; j < column; ++j)        {            if (arraysforfind[i][j] == 0)            {                temprow[i] = 0;                tempcolumn[j] = 0;            }        }            }    for (int i = 0; i < row; ++i)    {        if (temprow[i] == 0)        {            for (int j = 0; j < column; ++j)            {                arraysforfind[i][j] = 0;            }        }    }    for (int i = 0; i < column; ++i)    {        if (tempcolumn[i] == 0)        {            for (int j = 0; j < row; ++j)            {                arraysforfind[j][i] = 0;            }        }    }    for (int i = 0; i < row; ++i)    {        for (int j = 0; j < column; ++j)        {            cout<<arraysforfind[i][j]<<"  ";        }        cout<<endl;    }}int main(int argc, char const *argv[]){      int row = 3,column = 4;      srand(time(NULL));         int ** array = new int *[row];    for (int i = 0; i < row; ++i)        {            array[i] = new int [column];        }        for (int i = 0; i < row; ++i)    {        for (int j = 0; j < column; ++j)        {            array[i][j] = rand()%10;        }    }    for (int i = 0; i < row; ++i)    {        for (int j = 0; j < column; ++j)        {            cout<<array[i][j]<<"  ";        }        cout<<endl;    }        //函数实现    cout<<endl;cout<<endl;   zero(array,row,column);    // for (int i = 0; i < row; ++i)    // {    //     delete [] array[i];    // }    // delete [] array;    return 0;        } 

0 0
原创粉丝点击