12.01.2012, 21:20 | #1 (permalink) |
Новичок
Регистрация: 12.01.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, с составлением программы в Pascal
Задание такое. Составьте на языке Паскаль программы. Перед разработкой каждой программы следует создать тестовый (пробный) набор данных, и для него вручную решить поставленную задачу, чтобы, во-первых, до начала программирования отработать алгоритм обработки данных, а, во-вторых, знать, каких результатов следует ожидать при выполнении программы. 1)определить, что больше – сумма элементов, стоящих после максимального элемента, или сумма элементов, стоящих после минимального элемента 2)Дана строка символов. Определить, какое слово - максимальной или минимальной длины - находится ближе к началу строки Заранее спасибо! |
12.01.2012, 21:20 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Люди уже создавали что то подобное, так что можете почитать Помогите написать программы на языке Pascal Pascal ABC, запуталась, помогите пожалуйста Помогите в написании программы в Pascal |
13.01.2012, 10:35 | #2 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да что уж с Вами сделаешь...
Цитата:
Код:
Uses CRT; Var A:Array[1..1000] of Integer; i,N,Mx,Mn,Imax,Imin,Smax,Smin:Integer; Begin Clrscr; Write('N= '); Readln(N); For i:=1 to N do begin Write('A[',i:2,']= '); Readln(A[i]); end; ClrScr; for i:=1 to N do write(A[i]:4); Writeln; Writeln; Smax:=0; Smin:=0; Mx:=A[1]; Mn:=A[1]; Imin:=1; Imax:=1; for i:=2 to N do begin if A[i]<Mn then begin Mn:=A[i]; Imin:=i; end; if A[i]>Mx then begin Mx:=A[i]; Imax:=i; end; end; for i:=Imin+1 to N do Smin:=Smin+A[i]; for i:=Imax+1 to N do Smax:=Smax+A[i]; If Smin>Smax then writeln('After minimal') else writeln('After maximal'); Readln End. Цитата:
Код:
Type W=Array[1..100] of string; Var st:string; i,j,N,min1,max1,Imin,Imax:integer; wrd:W; Procedure GetWords(s: string; var words:W; var Nw:integer); var i,back: integer; begin i := 1; Nw := 0; while i<=length(s) do begin while (i<=length(s)) and (s[i]=' ') do inc(i); if i<=length(s) then begin back:=i; while (i<=length(s)) and (s[i]<>' ') do inc(i); end; inc(Nw); words[Nw]:=copy(s, back, i-back); end; end; BEGIN Writeln('Enter the string:'); Readln(st); Writeln; GetWords(st, wrd, N); min1:=length(wrd[1]); max1:=length(wrd[1]); Imin:=1; Imax:=1; for i:=2 to N do begin if length(wrd[i])<min1 then begin min1:=length(wrd[i]); Imin:=i; end; if length(wrd[i])>max1 then begin max1:=length(wrd[i]); Imax:=i; end; end; if Imin<Imax then Writeln('Shortest') else Writeln('Longest'); readln; END. |
||
13.01.2012, 21:32 | #3 (permalink) |
Новичок
Регистрация: 12.01.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо огромное, вы меня очень выручили! В школе хорошо было с информатикой, но сейчас многое забыла и навыки потеряла.. набрала сейчас эти программы, кое-что поняла, но сама бы выполнить задание не смогла. с массивами не знакома(
Спасибо вам еще раз)) |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|