Go-ger Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 Задача №1Пример программы для заполнения массива из 20 элементов целыми случайными числами в диапазоне от 0 до 99. и сортировки элементов массива по возрастанию. Оформить вывод сортированного массива и отладить программу.Const n= 20Var m :array [1..n] of integer ;I,j temp for i :=1 to n do:integer ;BeginRandomize ;{инициализация генератора случайных чисел}m :=random (100) ;{заполнение массива случай. числами в диапазоне от 0 до 99}{сортировка элементов массива }for i : = 1to n dofor j:=i+ 1to n doif m>m[j] then begintemp :=m;m :=m[j];m[j]:=tempendЗадача №2Задан массив действительных чисел. Определить , сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций , в которых происходит смена знака.Буду очень благодарен за помощь.
TolkienDRR Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 есть же практическая одноименная тема, зачем создавать кучу.. ну или информативней чтоли называйте. Const n= 20Var m :array [1..n] of integer ;I,j temp for i :=1 to n do:integer ;BeginRandomize ;{инициализация генератора случайных чисел}m[i] :=random (100) ;{заполнение массива случай. числами в диапазоне от 0 до 99}{сортировка элементов массива }for i : = 1to n dofor j:=i+ 1to n doif m[i]>m[j] then begintemp :=m[i];m[i] :=m[j];m[j]:=tempendчушь какая то, ты сам начинал писать??
mr.unkind90 Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 TolkienDRRс каждым годом таких тем становится всё больше из-за того что школьники поступают в универы и там нифига сделать не могут, а что будет через лет 10 О_О
Lakers Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 uses crt;Const n= 20;Var m :array [1..n] of integer ;i,j temp :integer ;beginclrscr;Randomize ;for i:=1 to n do m[i] :=random (100) ;for i: =1 to n-1 do for j:=i to n do if m[j]>m[j+1] then begin temp :=m[j]; m[j] :=m[j+1]; m[j+1]:=temp; end;for i:=1 to n do write(a[i]:5);readkey;end.uses crt;var i,n:integer; a:array[1..20]of integer;beginclrscr;write('N= ');readln(n);for i:=1 to n do read(a[i]);for i:=1 to n-1 do if a[i]*a[i+1]<0 then writeln('между ',i,' и ','j');readkey;end.
TolkienDRR Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 uses crt;var a : array[1..100] of real; ind : array[1..100] of byte; i,j,count:integer; b:boolean;begin randomize; a[1]:=random(501)-250; j:=0; count:=0; for i:= 2 to 100 do begin a[i]:=random(501)-250; if ((a[i]>=0) and (a[i-1]<0)) or ((a[i]<0) and (a[i-1]>=0)) then begin inc(j); ind[j]:=i; inc(count); end; end; writeln('+/- change = ',count);end.Добавлено спустя 6 минут 49 секунд:Lakers, вроде как запомнить надо =) и цикла одного вроде хватить должно =)
Lakers Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 ну да=)зато вот это((a[i]>=0) and (a[i-1]<0)) or ((a[i]<0) and (a[i-1]>=0)) можно вроде как и покороче :-D
TolkienDRR Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 a*a[i+1]<0хахаха, я злодей =D ты ноль не учитываешь )))))))два числа "-1, 0" у тебя не определят смену знаков =PДобавлено спустя 1 минуту 10 секунд:хотя сначала сказал, что у тебя решение элегантнее ))) и девушке рядом даже начал объяснять ))) и тут осенило про нолик )))))))поэтому злодей =Р
Lakers Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 смотри :-Dменяется знакНоль не имеет знака.http://ru.wikipedia.org/wiki/0_%28%D1%87%D0%B8%D1%81%D0%BB%D0%BE%29
Go-ger Опубликовано 10 марта, 2010 Автор Жалоба Опубликовано 10 марта, 2010 Спасибо за помощь Lakers и TolkienDRR
TolkienDRR Опубликовано 10 марта, 2010 Жалоба Опубликовано 10 марта, 2010 Lakersну дык, знак был -, а потом его вообще не стало )) это смена знака ))))) у числа 0 нет знака отрицания, как и у положительных. Пишут -16, но никто не пишет +16 ))) так что ноль надо учитывать =Р значит -16 16 - смена знака, т.к. знак минус убирается ровно как и -16 0 )))думаю стоит учесть, задача же простая, думаю препод может придерется к нулю в таком случае =))) и доказывать ему что ноль - граница беззнаковая, лучше не стоит )
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти