Клуб программистовлюбые вопросы по PHP, С++, JAVA, Python, Perl

В общем, есть одна задача, умножение длинных чисел. В начале дается число N (0<N<11), затем N чисел (максимум – 500-значные). Нужно умножить все числа и написать результат.

Решал на Pascal (число дано в файле Input):
var row,p:array[1..20000] of smallint; col:array[1..500] of smallint; nr,res,nc,dp,n,i,b,x,y,k,j,cr,cc,l:integer; c:char; carry,sum:longint;
procedure PrintResult;
begin
k:=0;
while (dp<high(row)) do begin
if (k=0) and (row[dp]=0) and (res<>0) then inc(dp) else
if res=0 then begin writeln(0); dp:=high(row)+1; end else begin
write(char(row[dp]+48));
inc(dp); k:=1;
end; end;
end;
procedure make(a,b:longint);
begin
while (a<>0) do begin
row[b]:=a mod 10;
a:=a div 10;
dec(b);
end;
inc(b);
end;
procedure Multiplying;
begin
dp:=high(row); cr:=nr; cc:=nc;
carry:=0;
while (cc>0) do begin
i:=cr; j:=cc; sum:=carry;
while (i<=nr) and (j>=1) do begin
sum:=sum+row[i]*col[j];
inc(i); dec(j);
end;
row[dp]:=sum mod 10; dec(dp);
carry:=sum div 10;
if cr>1 then dec(cr) else dec(cc);
end;
make(carry,dp);
for i:=1 to 20001-dp do p[i]:=row[dp+i-1];
for l:=1 to i do row[l]:=p[l];
nr:=i; cr:=i;
end;
procedure Multiplying1;
begin
dp:=high(row); cr:=nr; cc:=nc;
carry:=0;
while (cc>0) do begin
i:=cr; j:=cc; sum:=carry;
while (i<=nr) and (j>=1) do begin
sum:=sum+row[i]*col[j];
inc(i); dec(j);
end;
row[dp]:=sum mod 10; dec(dp);
carry:=sum div 10;
if cr>1 then dec(cr) else dec(cc);
end;
nr:=i;
make(carry,dp);
end;
begin
res:=1;
assign(input,'input.txt');
reset(input);
readln(n);
c:=#0;
read(c);
nr:=0;
while (c in ['0'..'9']) do begin
inc(nr); row[nr]:=ord(c)-48;
read(c);
end;
if (nc=1) and (row[1]=0) then res:=0;
readln;
for k:=2 to n do begin
for b:=1 to 500 do col[b]:=0;
read(c);
nc:=0;
while (c in ['0'..'9']) do begin
inc(nc); col[nc]:=ord(c)-48;
read(c);
end;
if (nc=1) and (col[1]=0) then res:=0;
if i<>n then Multiplying else Multiplying1;
readln;
end;
assign(output,'output.txt'); rewrite(output);
PrintResult;
end.
почему-то не всегда решает правильно!!
Можно еще и решение на C, но я не пробовал.
Пожалуйста!

Задача про пересечение двух окружностей.
Даются координаты центров окружностей и радиусы.
Найти все точки пересечение заданных окружностей и их количество. Если точек пересечения бесконечно много, вывести Infinity.
Можно на Паскале и C. Пожалуйста!)

+Похожая задача, только про отрезки:
Даны координаты точек начала и конца двух отрезков. Отрезки могут быть вырожденными (т.е. может быть дана просто точка). Найти их точки пересечения:
1) Если отрезки имеют одну точку пересечения, то вывести
1
координаты точки пересечения
2) если отрезки не пересекаются, вывести Empty
3) Если пересечением отрезков является часть отрезка, то вывести координаты точек начала и конца отрезка, являющегося пересечением.

Программа про отрезки:
var a,b,c,d,e,f,dt,ds,det,t,s,k1,k2,m1,m2: real;
x1,y1,x2,y2,x3,y3,x4,y4,z: integer; h:array[1..4] of integer; q1,q2,q4,q3:real;
procedure kol;
var i,j:byte;
begin
h[1]:=x1; h[2]:=x2; h[3]:=x3; h[4]:=x4;
for i:=3 downto 1 do begin
for j:=1 to i do begin
if h[j]>h[j+1] then begin
z:=h[j]; h[j]:=h[j+1]; h[j+1]:=z; end; end; end;
q1:=h[2]; q2:=h[3];
h[1]:=y1; h[2]:=y2; h[3]:=y3; h[4]:=y4;
for i:=3 downto 1 do begin
for j:=1 to i do begin
if h[j]>h[j+1] then begin
z:=h[j]; h[j]:=h[j+1]; h[j+1]:=z; end; end; end;
q3:=h[2]; q4:=h[3];
write(q1:0:6); write(' ',q3:0:6); write(' ',q2:0:6); write(' ',q4:0:6);
end;
function dot(x:byte):byte;
begin
if x=1 then begin
if (x1=x2) and (y1=y2) then dot:=1 else dot:=0;end else begin
if (x3=x4) and (y3=y4) then dot:=1 else dot:=0; end;
end;
procedure outp(param: shortint; xp, yp: real);
begin
if param=-1 then write('Empty') else
if param=0 then kol else
if param=1 then write(xp:0:6,' ',yp:0:6);
end;

procedure solve;
begin
if (dot(1)=0) and (dot(2)=0) then begin
a:=x2-x1;
b:=x3-x4;
c:=x3-x1;
d:=y2-y1;
e:=y3-y4;
f:=y3-y1;
if y2-y1=0 then k1:=1 else k1:=(x2-x1)/(y2-y1);
if y4-y3=0 then k2:=1 else k2:=(x4-x3)/(y4-y3);
m1:=y1-k1*x1;
m2:=y3-k2*x3;
det:=a*e-b*d;
if det=0 then begin
if trunc(100000*m1)=trunc(100000*m2) then outp(0,0,0) else outp(-1,0,0); end else begin
dt:=c*e-f*b;
ds:=a*f-c*d;
t:=dt/det;
s:=ds/det;
if (0<=s) and (s<=1) and(0<=t) and (t<=1) then outp(1, (x1*(1-t)+x2*t), (y1*(1-t)+y2*t)) else outp(-1,0,0); end; end else
if (dot(1)=1) and (dot(2)=0) then begin
ifx3>x4 then begin z:=x3; x3:=x4; x4:=z; end;
ify3>y4 then begin z:=y3; y3:=y4; y4:=z; end;
if (x1>x3) and (y1>y3)and (x1<x4) and (y1<y4) then outp(1,x1,y1) else outp(-1,0,0); end else
if (dot(1)=0) and (dot(2)=1) then begin
ifx1>x2 then begin z:=x1; x1:=x2; x2:=z; end;
ify1>y2 then begin z:=y1; y1:=y2; y2:=z; end;
if (x3>x1) and (y3>y1)and (x3<x2) and (y3<y2) then outp(1,x3,y3) else outp(-1,0,0); end else
if (dot(1)=1) and (dot(2)=1) then begin
if (x1=x3) and (y1=y3) then outp(1,x1,y1) else outp(-1,0,0); end;
end;
begin
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
readln(x1, y1, x2, y2, x3, y3, x4, y4);
close(input);
solve;
close(output);
END.
не всегда работает((

задачаС++ 26.12.09 Ответов: 98

я кароче код написал который массов с размерностью 20 выводит..а что нужно добавить чтобы он сравнивал между собой попарно все данные массива
#include iostream
using namespace std ;
const int 20 ;
int main()
{
// обьявление массива из 20 элементов целого цикла
int array [N] ;
// цикл вводв элементов массива
for (int j=0; J<N; j++)
cout <<Enter array["<< j << "]->";
cin>>array [j];
}
//вывод подсказки
cout << "\n\nThe entered array\" ;
//цикл вывода элементов массива
for (int j=0; j<N; J++)
cout<<array[j]<<"\t;
cout<<endl;
return 0;
}

К примеру на Sockets или TCP подкл. (ServerSocket и TCPServer) через соответствующую форму или модуль. Если я что-то не так сформулировал то скажите сразу я попробую исправить, формулировку.

Вылетает ошибка

Fatal error: Class 'Model_DbTable_Registration' not found in /home/content/b/i/o/biopulse/html/e-tenerife.org/application/controllers/IndexControll… on line 9

На локальном компе, работает на ура, структура такая

/home/content/b/i/o/biopulse/html
…./library
…./e-tenerife.org
……/application
……/modules
……../DbTable
………./Registration.php
……/public
……../index.php
…./.htaccess

Bootstrap.php такой…

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

protected function _initAutoload()
{
echo '_initAutoload()';
$modelLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH
));
echo 'return $modelLoader';
return $modelLoader;
}
}

index.php такой…

<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath('/home/content/b/i/o/biopulse/html/library'),
get_include_path(),
)));
/** Zend_Application */
require_once '/home/content/b/i/o/biopulse/html/library/Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();

Зенд вроде бы работает, но Autoloader нет…

Подскажите где может быть подвох?

С чего мне начать? Где найти ХОРОШИЙ самоучитель? Помогите)

Дело вот в чем.
У меня есть сайт на котором я поставил форму через которую можно загружать файлы в указанною мною папку через php обработчик.
Тоесть я захожу на сайт, загружаю файл и он летит в папку.
Как можно сделать что бы загружаемый файл автоматически добавлялся на сайт?
Например: Загрузил я песню через сайт и она сохраняется в указанной папке и добавляется в трек лист на сайте…
Очень нужно :)

При выборе закладки TabSet выбрать элемент RadioGroup и записать
в Memo1 или в ListBox1 что выбрано некое имя закладки и действие
в RadioGroup

Интернет 18.12.09 Ответов: 5

Подскажите пожалуйста, как в Delphi сделать код, чтобы он определял полный объём скачанной информации из интернета!!

Данные в TTable и TQuery
Каждая закладка есть запись в БД
Н-р: Access таблица со значениями

И снова вопрос свистка от чайника. А есть движок форума на zend? или который можно связать. Чем проще тем лучше. Не хочется связываться c phpBB и так далее, пока не имеет смысла

Здравствуйте.
у меня возник вопрос.
нужно чтобы запрос выполнялся программно. значение для поля с параметром берется из формы..
пишу такой код, но постоянно выдает ошибку " item not found in this collection"
//код
Dim que As QueryDef
Set que = CurrentDb.QueryDefs("счёт")
que.Parameters("код продажи").Value =Forms("продажи")("код продажи").value
que.Execute
Set que = Nothing

помогите,пожалуйста.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.