Написать программы на ассемблере: подсчитать количество неотрицательных элементов в заданном двумерном массиве. а) элементы массива однобайтовые; б) элементы массива двухбайтовые.
Var txt: string; i,k,n,m,mn: integer; a: array of string; begin write('предложение: '); readln(txt); k: =0; mn: =length(txt); for i: =1 to length(txt) do if txt[i]=' ' then k: =k+1; k: =k+1; setlength(a,k+1); for i: =1 to k-1 do begin a[i]: =copy(txt,1,pos(' ',txt)-1); delete(txt,1,pos(' ',txt)); end; a[k]: =txt; n: =length(a[1]); for i: =2 to k do begin if n+length(a[i])< mn then begin mn: =n+length(a[i]); m: =i-1; end; n: =length(a[i]); end; writeln('количество букв: ',mn); writeln('слова: ',a[m],' ',a[m+1]); end. предложение: кот пришел домой в три часа ночи количество букв: 4 слова: в три
znaberd786
07.11.2020
Код pascal: первая программа: const n = 13; var a,b: array[1..n] of integer; i,j,m: integer; k: byte; begin randomize; write('исходный массив: '); for i: = 1 to n do begin a[i]: =random(n); write(' ',a[i]) end; writeln; write('уникальные элементы: '); m: =0; for i: = 1 to n do begin k: =1; for j: = 1 to n do if i< > j then if a[i]=a[j] then k: =0; if k=1 then begin m: =m+1; b[m]: =a[i]; end end; for m: =1 to m do begin a[m]: =b[m]; write(' ',a[m]) end; end. пример работы программы: исходный массив: 3 7 11 11 11 0 9 3 9 9 10 1 4 уникальные элементы: 7 0 10 1 4 вторая программа: var a: array[1..10000] of integer; n,min,max,b: integer; beginwrite('введите размерность массива: '); readln(n); write('введите массив a(',n,'): '); for n: = 1 to n do read(a[n]); min: =1; max: =1; for n: = 2 to n do begin if a[n]< min then min: =n; if a[n]> max then max: =n; end; writeln('min(a) = a[',min,'] = ',a[min]); writeln('max(a) = a[',max,'] = ',a[max]); b: =a[max]; a[max]: =a[min]; a[min]: =b; write('a(',n,'): '); for n: = 1 to n do write(' ',a[n])end.пример работы программы: введите размерность массива: 7введите массив a(7): 1 3 4 6 7 5 2 min(a) = a[1] = 1max(a) = a[5] = 7a(7): 7 3 4 6 1 5 2 третья программа: const n = 3; m = 4; var a: array[1..n,1..m] of integer; b: array[1..m,1..n] of integer; i,j: integer; beginrandomize; writeln('исходная матрица: '); for i: = 1 to n do begin for j: = 1 to m do begin a[i,j]: =random(21)-10; write(a[i,j]: 3,' ') end; writeln; end; writeln; writeln('транспонированная матрица: '); for i: = 1 to m do begin for j: = 1 to n do begin b[i,j]: =a[j,i]; write(b[i,j]: 3,' ') end; writeln end; end. пример работы программы: исходная матрица: 10 3 10 1 -4 9 -9 2 -1 4 2 1 транспонированная матрица: 10 -4 -1 3 9 4 10 -9 2 1 2 1
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Написать программы на ассемблере: подсчитать количество неотрицательных элементов в заданном двумерном массиве. а) элементы массива однобайтовые; б) элементы массива двухбайтовые.