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 )))думаю стоит учесть, задача же простая, думаю препод может придерется к нулю в таком случае =))) и доказывать ему что ноль - граница беззнаковая, лучше не стоит ) Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти