02.05.2016, 12:37 | #1 (permalink) |
Member
Регистрация: 07.04.2016
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Одномерные массивы
В одномерном массиве, состоящем из n вещественных элементов 1) вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами; 2) преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом – все остальные; 3) упорядочить элементы массива по убыванию, используя пузырьковую сортировку; 4) найти заданный элемент в упорядоченном массиве, используя бинарный метод поиска. Ниже выложил файл на что желательно опираться при разработке программ, заранее спасибо |
02.05.2016, 12:37 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можете ознакомится, тут наверняка есть дельные советы Одномерные массивы Одномерные массивы Одномерные массивы |
02.05.2016, 16:35 | #2 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
1.
Код:
uses Crt; const n=10; type Tmass=array[1..n] of integer; var a:Tmass; x,y,z,sum:integer; begin ClrScr; Writeln('Massiv:'); Writeln; Randomize; for x:=1 to n do begin a[x]:=Random(11)-4; Write(a[x]:4); end; Writeln; Writeln; z:=0; sum:=0; for x:=1 to n do if a[x]<0 then begin y:=x; Inc(z); Break; end; if z=0 then Writeln('Net otricatelnih elementov') else if y=n then Writeln('Net vtorogo otricatelnogo elementa') else begin for x:=y+1 to n do if a[x]<0 then begin Inc(z); Break; end else sum:=sum+a[x]; if z=2 then Writeln('Summa = ',sum) else Writeln('Net vtorogo otricatelnogo elementa'); end; ReadKey; end. Код:
uses Crt; const n=10; type Tmass=array[1..n] of Real; var a:Tmass; x,y:integer; z:Real; begin ClrScr; Writeln('Massiv:'); Writeln; Randomize; for x:=1 to n do begin a[x]:=(Random(31)-10)/10; Write(a[x]:6:1); end; Writeln; Writeln; x:=1; repeat if x=1 then Inc(x) else if Abs(a[x])<1 then begin z:=a[x]; for y:=x downto 2 do a[y]:=a[y-1]; a[1]:=z; Inc(x); end else Inc(x); until x>n; Writeln('Noviy massiv:'); Writeln; for x:=1 to n do Write(a[x]:6:1); Writeln; ReadKey; end. |
02.05.2016, 23:37 | #3 (permalink) | |
Member
Регистрация: 07.04.2016
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
|
|
03.05.2016, 18:00 | #4 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
3.
Код:
uses Crt; const n=10; type Tmass=array[1..n] of integer; var a:Tmass; i,j,t:integer; begin ClrScr; Writeln('Massiv:'); Writeln; Randomize; for i:=1 to n do begin a[i]:=Random(100); Write(a[i]:4); end; Writeln; Writeln; for i:=1 to n-1 do for j:=1 to n-i do if a[j]<a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t; end; Writeln('Massiv sortirovanniy po ubivaniju:'); Writeln; for i:=1 to n do Write(a[i]:4); Writeln; ReadKey; end. Код:
uses Crt; const n=15; type Tmass=array[1..n] of integer; var a:Tmass; i,j,t,f,d:integer; begin ClrScr; Writeln('Massiv:'); Writeln; Randomize; for i:=1 to n do begin a[i]:=Random(1000); Write(a[i]:5); end; Writeln; Writeln; for i:=1 to n-1 do for j:=1 to n-i do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t; end; Writeln('Sortirovanniy massiv:'); Writeln; for i:=1 to n do Write(a[i]:5); Writeln; Writeln; Write('Cislo dlja poiska = '); Readln(t); Writeln; f:=0; i:=1; j:=n; repeat d:=(i+j) div 2; if t=a[d] then begin f:=d; Break; end; if t>a[d] then i:=d+1 else j:=d-1; until i>j; if f=0 then Writeln('V massive net dannogo cisla') else Writeln('Dannoe cislo imeet poziciju - ',f); ReadKey; end. |
04.05.2016, 15:29 | #5 (permalink) | |
Member
Регистрация: 07.04.2016
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|