Уважаемые мемберы может ктонибудь показать на примере как скачать и выполнить файл использую для скачивания только winsocks ?? у меня что то не выходит =(( Code: WSAStartup(makeword(1,1),info); sHwnd:=Socket(AF_INET, SOCK_STREAM, 0); sin.sin_family:=AF_INET; sin.sin_port:=htons(dport); sin.sin_addr.S_addr:=inet_addr(dhost); connect(sHwnd, sin, sizeof(sin)); sbuff1 := ''; sbuff1 := 'GET ' + dpath + '? HTTP/1.1'+ #13#10 + 'Host: ' + dhost + #13#10#13#10; CopyMemory(@sBuff,pchar(sBuff1),length(sBuff1)); send(sHwnd, sBuff, Length(sBuff), 0); recv(sHwnd, rBuff, Length(rBuff), 0); fileText := copy(rBuff, pos(#13#10#13#10, rBuff)+4, length(rBuff)-pos(#13#10#13#10, rBuff)); SaveFile(SavePath, fileText);
zer0ska, вот слушай, когда сервер тебе отвечает он тебе посылает свои хеддеры в которых указан размер данных (в символах)(Content-Length), вот его считываешь и потом постепенно принимаешь символы от сервера (т.е. ответ от сервера)(while цикл тебе поможет) Это все не сложно делается!
Помогите написать программу подсчета количества элементов, попадающих между номером минимального элемента и максимального элемента в массиве из 30 чисел.
MaTpOc вот точный код программы! сорри что сразу норм не написал... спасибо Soherox PHP: const n = 30; var a: array [1..n] of integer; i, imax, imin, max, min: integer; begin writeln('Zapolnite massive'); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; writeln; max:=a[1]; min:=a[1]; for i:=1 to n do begin if a[i] > max then begin imax:=i; max:=a[i]; end; if a[i] < min then begin imin:=i; min:=a[i]; end; end; if imin = imax then write('0') else write(abs(imin - imax) - 1); readln; end.
вот кароче так попробуй PHP: const n = 30; var a: array [1..n] of integer; i, imax, imin, max, min: integer; begin writeln('Zapolnite massive'); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; writeln; max:=a[1]; min:=a[1]; for i:=2 to n do begin if a[i] > max then begin imax:=i; max:=a[i]; end; if a[i] < min then begin imin:=i; min:=a[i]; end; end; n=abs(imin - imax) - 1 if n=0 then writeln('0') else writeln(n); readln; end.
Приношу извинения, писал на Delphi, поэтому ошибка, все исправил для Pascal Code: const n = 30; var a: array [1..n] of integer; i, imax, imin, max, min: longint; begin min:=maxlongint; max:=-min; for i:=1 to n do begin read(a[i]); if a[i] > max then begin imax:=i; max:=a[i]; end; if a[i] < min then begin imin:=i; min:=a[i]; end; end; if imin = imax then write('0') else write(abs(imin - imax) - 1); readln; end.
Code: const n = 5; var a: array [1..n] of integer; i, imax, imin, max, min: integer; begin min:=max; max:=-min; for i:=1 to n do begin read(a[i]); if a[i] > max then begin imax:=i; max:=a[i]; end; if a[i] < min then begin imin:=i; min:=a[i]; end; end; if imin = imax then write('0') else write(abs(imin - imax) - 1); readln; end. я так поправил, вроде все ок, но выдает из 5элементов что 4 находятся между макс и мин...