Помогите, пожалуйста, с задачами на Паскале
Здравствуйте! У меня есть программки на Паскале, но не могу их записать с помощью процедур, много разных ошибок делаю -самой смешно. Помогите пожалуйста.
№1 uses crt; var s: string; k,l,i: integer; c:char; begin write ('vvedi strocu iz bukv:'); readln (s); k:=0; l:=0; for i:=1 to length (s) do begin if s[i]='A' then k:=k+1; if s[i]='B' then l:=l+1; end; writeln ('A=',k); writeln ('B=',l); if k>l then begin for i:=length (s) downto 1 do if s[i]='B' then begin delete (s,i,1); write (i:4); c:=readkey; if c=#27 then halt(1); end; end; write(s); end. Суть задачи: вводим строку из символов А и В, считаем их, сравниваем и если В больше, то удаляем В все. №2 program mas6; var a:array[1..50,1..60] of integer; n,m,i,j,k,summa: integer; begin randomize; write('n='); readln(n); write('m='); readln(m); for i:=1 to n do for j:=1 to m do a[i,j]:=random(15)-3; for i:=1 to n do begin writeln; for j:=1 to m do begin write(a[i,j]:8; end; end; writeln; writeln; summa:=0; for i:=1 to n do begin k:=1; for j:=2 to m do if a[i,j]>a[i,k] then a[i,k]:=a[i,j]; summa:=summa+a[i,k]; end; writekn(summa:, summa); readln; end. Суть задачи находим сумму максимальных элементов каждой строки. №3 Сегодня получила новую задачку по одномерному массиву и не соображу как соединить две мысли в одну, да еще с помощью процедур. А задача следующая: найти наибольший простой элемент массива. Суть ясна. Ищем простые числа и по ходу сравниваем их. У меня мозг отказывается решать ее. помогите пожалуйста. |
Цитата:
Цитата:
Цитата:
Цитата:
writeln('summa: ', summa); Еще (но это, впрочем, мелочь): идентификатор k не нужен вовсе, ставьте вместо него 1 в индексах массива, да и всё. Зачем лишние усложнения? Есть еще одна тонкость. Во избежание возможных глюков транслятора, лучше писать не a[i,j]:=random(15)-3; а a[i,j]:=-3+random(15); Казалось бы, одно и то же, ан не всегда. Цитата:
Код:
Const |
Vladimir_S, большое спасибо за уделенное внимание!
Здравствуйте, ваши замечания по поводу опечаток действительно уместны: writeln('summa: ', summa); это отвлеклась и не проверила перед отправкой, а про строку из А и В поторопилась. После сравнения, если А больше, то удаляем все В. Мысли бегут быстрее, чем я печатаю. А вот на счет процедур - нужны или нет- преподаватель требует чтобы все было запроцедуренно, и когда я ему сдаю задачки, то он как коршун над цыпленком с этими процедурами ввода-вывода и т.д. а я как всегда чего-нибудь не туда пишу или вообще не дописываю. |
Цитата:
Код:
Type |
Задачка (про максимальный простой элемент) замечательная, огромное спасибо, Vladimir_S! Я бы дня три точно промучилась бы, а то и больше. А на счет написания подпрограмм согласна полностью.
|
Попробую скормить, правда он привереда. Спасибо
|
Часовой пояс GMT +4, время: 07:48. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.