Дан массив действительных чисел, размерность которого n. подсчитать, сколько в нем отрицательных, положительных и нулевых элементов. программа в паскаль
Так как в условии речь идет о массиве действительных чисел,то будем использовать тип real. четкого размера массива нет - используем динамический массив var a: array of real; // динамический массив вещественных чисел n, x, y, i: integer; begin write('vvedite razmer massiva n='); readln(n); // считываем размер динамического массива a : = new real[n + 1]; // инициализируем динамический массив размера n for i : = 1 to n do begin a[i] : = random(n, -n) + 1 / (random(n) + 1); // заполняем элементы массива случайными значениями в диапазоне [n,-n] и искусственно создаем в них случайную дробную часть выражением (1/(random(n)+1)) if a[i] > 0 then inc(x) // если элемент массива больше 0,то увеличиваем x на 1 else if (a[i] < 0) then inc(y); // если элемент меньше 0,то увеличиваем y на 1 writeln(a[i]: 4: 3); // вывод значения элемента массива с ограничением [4 символа до запятой : 3 символа после запятой] end; writeln('kolichestvo > 0 = ', x ); writeln('kolichestvo < 0 = ', y); writeln('kolichestvo 0 =', n-x-y); end.
Равиль_Евгеньевич1808
16.12.2022
// pascalabc.net 3.3, сборка 1549 от 17.10.2017 // внимание! если программа не работает, обновите версию! begin var n: =readinteger('количество строк в матрице: '); var m: =readinteger('количество столбцов в матрице: '); writeln('*** исходная матрица [',n,',',m,'] ***'); var a: =matrrandom(n,m,-99,99); a.println(4); writeln(4*a.colcount*'-'); var (i,k): =(0,-1); foreach var c in a.cols do if c.where(e-> e.iseven).count< 5 then k: =i else i+=1; if k> =0 then begin writeln('*** матрица - результат [',n,',',m+1,'] ***'); setlength(a,n,m+1); for var c: =a.colcount-1 downto k+1 do a.setcol(c,a.col(c-1)); a.setcol(k+1,arrfill(a.rowcount,0)); a.println(4) end else writeln('нет столбцов с количеством четных элементов, меньшим 5') end. пример количество строк в матрице: 8 количество столбцов в матрице: 6 *** исходная матрица [8,6] *** 38 -44 50 20 -85 -92 15 -43 43 6 -80 63 76 2 -63 32 14 -37 -78 -30 94 -45 44 -25 -74 30 15 -56 -41 -88 72 -15 -74 38 -47 -76 11 -75 -2 70 35 65 -52 -42 9 94 59 -28 *** матрица - результат [8,7] *** 38 -44 50 20 0 -85 -92 15 -43 43 6 0 -80 63 76 2 -63 32 0 14 -37 -78 -30 94 -45 0 44 -25 -74 30 15 -56 0 -41 -88 72 -15 -74 38 0 -47 -76 11 -75 -2 70 0 35 65 -52 -42 9 94 0 59 -28
beglovatatiyana
16.12.2022
// pascalabc.net 3.3, сборка 1549 от 17.10.2017 // внимание! если программа не работает, обновите версию! begin var n: =readinteger('количество строк в матрице: '); var m: =readinteger('количество столбцов в матрице: '); writeln('*** исходная матрица [',n,',',m,'] ***'); var a: =matrrandom(n,m,-99,99); a.println(4); writeln(4*a.colcount*'-'); var (i,k): =(0,-1); foreach var r in a.rows do if r.sum mod 3=0 then begin k: =i; break end else i+=1; if k> =0 then begin writeln('*** матрица - результат [',n-1,',',m,'] ***'); for var r: =k to a.rowcount-2 do a.setrow(r,a.row(r+1)); setlength(a,n-1,m); a.println end else writeln('нет строк с суммой жлементов, кратной трем') end. пример количество строк в матрице: 7 количество столбцов в матрице: 8 *** исходная матрица [7,8] *** -22 75 97 33 10 -58 -50 -11 -5 24 18 -19 -2 77 -55 -74 50 38 -94 88 -80 -76 70 -20 -53 48 -36 -92 70 -76 -14 -36 -57 30 -76 62 -75 -21 3 93 57 -7 74 -39 87 -74 65 42 94 -68 45 -61 -65 -49 -83 -46 *** матрица - результат [6,8] *** -22 75 97 33 10 -58 -50 -11 50 38 -94 88 -80 -76 70 -20 -53 48 -36 -92 70 -76 -14 -36 -57 30 -76 62 -75 -21 3 93 57 -7 74 -39 87 -74 65 42 94 -68 45 -61 -65 -49 -83 -46
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дан массив действительных чисел, размерность которого n. подсчитать, сколько в нем отрицательных, положительных и нулевых элементов. программа в паскаль