Var s1,s2:string; x:char; i,p:integer; begin writeln('Введите предложение:'); readln(s1); write('x = '); readln(x); for i:=length(s1) downto 1 do if s1[i] in [',',';',':','.','!','?'] then delete(s1,i,1); s1:=s1+' '; s2:=''; p:=pos(' ',s1); while p>0 do begin if s1[p-1]=x then s2:=s2+copy(s1,1,p-1)+','; delete(s1,1,p); p:=pos(' ',s1); end; if s2='' then writeln('В предложении нет искомых слов') else begin delete(s2,length(s2),1); writeln(s2); end; end.
Пример: Введите предложение:Дано предложение. Посчитать количество слов, заканчивающихся на заданную букву, и записать эти слова в другую строку через запятую. x = ю заданную,другую,запятую
1 дюйм = 2,54 см, поэтому изображение размером 10x10 дюймов, в одном квадратном дюйме 600x1200 точек, количество точек на данном изображении 10*10*600*1200 = 72000000 точек = 72*10^6. У каждой точки есть свой цвет, который кодируется 16 битами. Информационный объем файла = 72*(10^6)*16 бит = 72*2*(10^6) байт = = 144*10^6 байт
Program chisla; var a,b:integer; - не знаю, может и real; - как в условии begin write(' введите два числа'); readln(a,b); if a*b<0 then writeln(2*a*b) else writeln(1.5*a*b); end.
Procedure TForm1.Button4Click(Sender: TObject); var Buff: TNodePointer; x: TItem; i,j: Cardinal; begin i:=0; Buff:=Head; if(Buff^.Next=nil) then begin ShowMessage('В стеке один элемент!'); exit; end; while Buff <> nil do begin while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do begin pop(Buff^.Next,x); for j:=i to StringGrid1.RowCount-2 do StringGrid1.Cells[0,j]:=StringGrid1.Cells[0,j+1]; StringGrid1.RowCount:=StringGrid1.RowCount-1; end; Buff:=Buff^.Next; i:=i+1; end; end;
PS. Delphi у меня сейчас нет, так что проверяйте сами. Если что не так - сообщайте.