Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Qbasic (http://forum.oszone.net/showthread.php?t=29670)

Guest 10-06-2004 20:08 205265

END Дано действительное число y
Получить это.

вот что *я написал:
Код:

FUNCTION t(y)
FOR k=0 TO 10
f=1 /* препод сказал что первая ошибка в этой строке */
f=f*I
sum1=sum1+(y^(2*k+1)/
 * * * * * (f*(2*k+1)) /* вторая */
sum2=sum2+(y^*k)/f
NEXT k
PRINT sum1
PRINT sum2
END FUNCTION

INPUT “y=”;y
z=(1.7*t(.25)+2*t(1+y))/
6-t(y^z-1)
PRINT “z=”;z

[s]Исправлено: Prisoner, 1:58 11-06-2004[/s]

Guest 10-06-2004 21:57 205266

1.7(0.25)+2t(1+y)/(6-t(y-1)) то что нужно получить 8)

Volvo 11-06-2004 03:17 205267

Что-то типа этого должно сработать...

function fact(n as integer)
 f = 1
 for i=1 to n
   f = f * i
 next i
 fact = f
end function

function t(x as single)
 s1=0
 s2=0
 for k = 0 to 10
   s1 = s1 + (x**(2*k+1)/fact(2*k+1))
   s2 = s2 + (x**2*k)/fact(2*k)
 next k
 t=s1/s2
end function

INPUT “y=”;y
z=(1.7*t(.25)+2*t(1+y))/ 6-t(y^z-1)
PRINT “z=”;z

Kamile 11-10-2006 01:26 496049

Решите, пожалуйста, задачу: даны 2 массива, заменить min элемент 1-ого массива на max элемент 2-ого массива, и наоборот
1-ый: 54193 541093
2-ой 432107 43217

hasherfrog 11-10-2006 01:37 496053

Ответ:
1-ый: 432107 541093
2-ой 432107 541093

Prisoner 11-10-2006 09:52 496155

hasherfrog, 5 баллов!

mrcnn 11-10-2006 10:07 496168

Цитата:

Решите, пожалуйста, задачу: даны 2 массива, заменить min элемент 1-ого массива на max элемент 2-ого массива, и наоборот
1-ый: 54193 541093
2-ой 432107 43217
Ответ:
1-ый: 432107 541093
2-ой: 54193 43217

Что-то типо этого нуно написать

void main(){
int a[N],b[N],maxi,mini;
maxi=min(a);
mini=max(b);
b[mini]=b[mini]+a[maxi];
a[maxi]=b[mini]-a[maxi];
b[mini]=b[mini]-a[maxi];
}

int min(int *x){
int i,min,index;
for(i=0,min=*x,index=0;i<N;i++){
if (*(x+i)<min){
min=*(x+i);index=i;}
}
return index;
}

int max(int *x){
int i, max, index;
for(i=0,max=*x,index=0;i<N;i++){
if (*(x+i)>max){
max=*(x+i);index=i;}
}
return index;
}

hasherfrog 11-10-2006 12:41 496231

:-) Всю ночь думал, сколько интерпретаций есть у условия (и сколько возможно соответственно решений)

mrcnn
1. обычно своп делают xor'ом, если уж на то пошло :]
2. а что если N=0? :] -> упадём.
3. Кстати :] читал тут старенькую книжку про написание читаемого кода на фортране. Там написано (одно из первых правил): пишите, что думаете, не изгаляйтесь :] Это к вопросу о swap'е, меня ваш вариант выбил на пару минут в астрал :]

mrcnn 11-10-2006 13:38 496270

hasherfrog
Цитата:

1. обычно своп делают xor'ом, если уж на то пошло :]
как это реализовывается?

Цитата:

2. а что если N=0? :] -> упадём.
микрософтовский компилятор ошибку выдаст, что не может создать массив из 0 элементов.

Цитата:

3. Кстати :] читал тут старенькую книжку про написание читаемого кода на фортране. Там написано (одно из первых правил): пишите, что думаете, не изгаляйтесь :] Это к вопросу о swap'е, меня ваш вариант выбил на пару минут в астрал :]
Этот вариант свопа предлагает Шень в своей книге. :) обычно я через отдельную переменную обмениваю.

hasherfrog 11-10-2006 13:52 496275

>> как это реализовывается?

a ^= b; b ^= a; a ^= b;

Arrest 11-10-2006 23:05 496486

mrcnn
Ваш вариант свопа не ловит момент, когда b[mini]+a[maxi] будет превышать 32767.


Время: 19:27.

Время: 19:27.
© OSzone.net 2001-