16.03.2013, 08:04 | #1 (permalink) |
Новичок
Регистрация: 16.03.2013
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите пожалуйста с массивами на паскале
сумме числа из предыдущей ячейки и его цифр (т.е. во второй ячейке будет число 13+1+3=17). Найти сумму элементов, кратных заданному числу 2.. Двумерный массив NxN заполнить случайными символами английского алфавита (заглавные). Поменять местами элементы относительно главной диагонали, а затем относительно побочной диагонали Если можно пожалуйста прокомментируйте своё решение Тема перенесена в нужный раздел. Модератор |
16.03.2013, 08:04 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Решение проблемы можно поискать по этим ссылкам Помогите, пожалуйста, с программой на Паскале Помогите, пожалуйста, с задачей на Паскале Две задачи с массивами в Паскале |
16.03.2013, 09:27 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const N=7; Var A:Array[1..N,1..N] of Char; i,j:Byte; C:Char; Begin Randomize; Writeln('Initial matrix:'); for i:=1 to N do begin for j:=1 to N do begin A[i,j]:=Chr(65+Random(26)); write(A[i,j]+' '); end; writeln; end; Writeln('First transformed matrix:'); for i:=1 to N-1 do for j:=i+1 to N do begin C:=A[i,j]; A[i,j]:=A[j,i]; A[j,i]:=C; end; for i:=1 to N do begin for j:=1 to N do write(A[i,j]+' '); writeln; end; Writeln('Second transformed matrix:'); for i:=1 to N-1 do for j:=1 to N-i do begin C:=A[i,j]; A[i,j]:=A[N-j+1,N-i+1]; A[N-j+1,N-i+1]:=C; end; for i:=1 to N do begin for j:=1 to N do write(A[i,j]+' '); writeln; end; Readln End. |
|
16.03.2013, 09:58 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Var A:Array[1..255] of Word; i,N,k:Byte; Sum_of_Elements:Word; Function Sum_of_Digits(Q:Word):Byte; var QS:Word; Number_of_Digits,Sum,p:Byte; begin QS:=Q; Number_of_Digits:=Trunc(Ln(Q)/Ln(10))+1; Sum:=0; for p:=1 to Number_of_Digits do begin Sum:=Sum+(QS mod 10); QS:=QS div 10; end; Sum_of_Digits:=Sum; end; Begin A[1]:=13; Write('N (1<N<256) = '); Readln(N); Write(A[1]:8); For i:=2 to N do begin A[i]:=A[i-1]+Sum_of_Digits(A[i-1]); Write(A[i]:8); end; Writeln; Writeln; Sum_of_Elements:=0; Write('k = '); Readln(k); For i:=1 to N do if (A[i] mod k)=0 then begin write(A[i]:8); Inc(Sum_of_Elements,A[i]); end; Writeln; If Sum_of_Elements=0 then Writeln('No such elements!') else Writeln('Sum_of_elements = ',Sum_of_elements); Readln; End. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|