Обнулить правый нижний угол матрицы симметричный левому.. надо, не понимаю как обнулить правый..#include#include using namespace std; typedef int telem ; //определение типа элементов массиваtypedef telem *tstr ; //определение типа "указатель на telem"typedef tstr *tmatr; //определение типа "указатель на указатель на telem"void inputmatr(tmatr a, int n) ; void outputmatr(tmatr a, int n) ; void sort_obmenf(tmatr a, int n) ; void nullmas (tmatr a, int s); int main(){ int i, j ; int n ; //число строк матрицы tmatr a; //объявляется переменная-указатель на указатель на telem setlocale(lc_all,"russian") ; cout < < "\nвведите половину массива: " ; cin > > n; a = new tstr [2*n] ; //выделение динамической памяти под массив //указателей на строки массива for(i = 0; i < 2*n; i++) //цикл выделения памяти под каждую строку *(a + i) = new telem [2*n] ; //каждому элементу массива указателей //на строки присваивается адрес начала //области памяти, выделяемой под строку inputmatr(a, 2*n) ; cout < < "исходная матрица: \n" ; outputmatr(a, 2*n) ; sort_obmenf(a, n) ; cout < < "матрица с отсортированными строками: " < < endl ; outputmatr(a, 2*n) ; cout < < endl ; nullmas (a,n); outputmatr(a, 2*n) ; //освобождение динамической памяти for(i = 0; i < 2*n; i++) delete a[i] ; delete a ; return 0 ; }void inputmatr(tmatr a, int n){ for(int i = 0 ; i < n ; i++) for(int j = 0 ; j < n ; j++) *(*(a + i) + j) = 10 * i + j; }//сортировка элементовvoid sort_obmenf(tmatr a, int s){bool flag = true; do { flag = false; for(int i = 0; i < 2*s-1; i++) { for(int j = 0; j < 2*s-1; j++) { if(a[i+1][j+1]> a[i][j]) { swap(a[i][j], a[i+1][j+1]); flag = true; } } } } while(flag); }void outputmatr(tmatr a,int n){ int i, j ; for(i = 0; i < n; i++) {for(j = 0; j < n; j++) {cout.width(2) ; //ширина поля выводимого параметра cout < < *(*(a + i) + j) < < ' ' ; } cout < < "\n"; }}void nullmas (tmatr a, int s){ int i, j ; for(i=0; i { for(j=0; j< 2*s; j++) { a[i][j]=0; } }for(j=s-1; j> s-i-1; j--) { for(i=2*s-1; i > s+j ; i--) { a[i][j]=0; }}for(j=s-1; j> s-i-1; j--) { for(i=2*s-1; i > s+j ; i--) { a[i][j]=0; }}}

Aaaaaarrrrr55 Aaaaaarrrrr55    2   03.06.2019 03:05    6

Другие вопросы по теме Информатика