Обнулить правый нижний угол матрицы симметричный левому.. надо, не понимаю как обнулить правый..#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; }}}
Аналоговый сигнал — сигнал данных, у которого каждый из представляющих параметров описывается функцией времени и непрерывным множеством возможных значений. различают два пространства сигналов — пространство L (непрерывные сигналы), и пространство l (L малое) — пространство последовательностей.
Протсранство l (L малое) есть пространство коэффициентов Фурье (счётного набора чисел, определяющих непрерывную функцию на конечном интервале области определения), пространство L — есть пространство непрерывных по области определения (аналоговых) сигналов.
При некоторых условиях, пространство L однозначно отображается в пространство l (например, первые две теоремы дискретизации Котельникова).
Аналоговые сигналы описываются непрерывными функциями времени, поэтому аналоговый сигнал иногда называют континуальным сигналом. Аналоговым сигналам противопоставляются дискретные (квантованные, цифровые). Примеры непрерывных пространств и соответствующих физических величин:
прямая: электрическое напряжение
окружность: положение ротора, колеса, шестерни, стрелки аналоговых часов, или фаза несущего сигнала
отрезок: положение поршня, рычага управления, жидкостного термометра или электрический сигнал, ограниченный по амплитуде
различные многомерные пространства: цвет, квадратурно-модулированный сигнал.
uses crt;
Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;
Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1)
then
Writeln('Ошибка, указанные значения выходят за пределы матрицы') else
Begin
Writeln('Введите элементы матрицы');
k:=0;
for i:=1 to N do
for j:=1 to M do
Begin
readln(mas[i,j]);
if (mas[i,j] mod 2 = 0) then k:=k+1;
end;
Writeln();
Writeln('Исходная матрица');
for i:=1 to N do
Begin
for j:=1 to M do
Begin
Write(mas[i,j], ' ')
end;
Writeln();
end;
Writeln();
Writeln('Количество четных элементов = ',k);
end;
readln;
end.