KMA
Долгожитель
|
o KMA всё понятно, но программа всё равно выдаёт ошибку "division by zero" непонятно почему. Возможно это у меня тупит Паскаль? Но я пробовал и на других компах, тоже самое выдаёт
и будет выдавать =). У тебя же переполнение идет, ты чего не понимаешь, что определил i как integer, a значит пределы от -2^16 до 2^16-1. 128 в квадрате, как несложно догадаться есть 2^16, за пределы выходит, ноль в конце не скидывает =), вот и получается у тебя вместо твоих 32765 выходит 0. Поэтому замени тип у i на LongInt или word. И проблема решиться. (Сообщение отредактировал KMA 25 дек. 2007 12:24)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 окт. 2007 23:54 | IP
|
|
Guest
Новичок
|
Есть x=sina. Известно значение x найти a. Как можно найти а?
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 25 окт. 2007 17:49 | IP
|
|
Vetas
Новичок
|
Помогите исправить парочку програм пожалуйста, а то не пойму почему не пашет. 1) Даны действительные числа a[1],a[2]... Известно, что a[1]>0 и что среди a[2],a[3],... есть хотя бы одно отрицательное число. Пусть a[1],...a[n] - члены данной последовательности, предшеству- ющие первому отрицательному члену (n заранее неизвестно). Полу- чить a[1]+a[2]+...+a[n]. 2)Даны натуральные числа n, a[1],...,a[n]. Определить количество членов a[k] последовательности a[1],...,a[n], являющихся нечетны- ми числами. 3)Даны натуральное число n, действительная матрица размера n x 9. Найти среднее арифметическое каждого из столбцов. 3) const n=2; Var i,j:integer; C:array[1..n,1..9] of real; s,Sar:real; begin for j:=1 to 9 do if j mod 2=0 then begin s:=0; for i:=1 to n do s:=s+C[i,j]; Sar:=s/n; writeln (Sar); end; end. 2) const n=10; Var i,k:integer; A:array[1..n] of integer; begin k:=0; Writeln('Vvedite massiv'); for i:=1 to n do readln(A[ i ]); for i:=1 to n do begin if (A[ i ] mod 3=0) and (A[ i ] mod 5<>0) then k:=k+1; end; Writeln('Koli4estvo=',k); end. 1) const n=10; Var i:integer; A:array[1..n] of integer; p:real; begin p:=1; Writeln('Vvedite massiv, na4inaya s pologitelnogo'); begin for i:=1 to n do begin if a[ i ]>0 then break; p:=p*a[ i ]; end; End; end. (Сообщение отредактировал KMA 25 дек. 2007 12:27)
|
Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 19:25 | IP
|
|
KMA
Долгожитель
|
Есть x=sina. Известно значение x найти a. Как можно найти а?
Вроде всегда был arcsin (x). В Pascal это функция x:=arsin (a)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:05 | IP
|
|
KMA
Долгожитель
|
1) Даны действительные числа a[1],a[2]... Известно, что a[1]>0 и что среди a[2],a[3],... есть хотя бы одно отрицательное число. Пусть a[1],...a[n] - члены данной последовательности, предшеству- ющие первому отрицательному члену (n заранее неизвестно). Полу- чить a[1]+a[2]+...+a[n].
Так давайте договоримся, если пишите i в скобках, значит пишите [ i ], С ПРОБЕЛАМИ, иначе это код, соответствующий курсиву. Во первых, ты ищешь сумму, а не произведение, поэтому вместо произведения р надо найти сумму. а второе, наверное все-таки вывести результат. в итоге программа будет выглядеть так:
Code Sample:
Var i: byte; A:array[1..n] of integer; p: longInt; BEGIN Writeln('Vvedite massiv, na4inaya s pologitelnogo'); for i:=1 to n do begin write (i, ' элемент ='); readLn (a[ i ] end; p:=0; for i:=1 to n do begin if a[ i ]<0 then break; p:=p+a [ i ] end; writeLn ('Otvet ', p) END.
(Сообщение отредактировал KMA 25 окт. 2007 20:16)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:12 | IP
|
|
KMA
Долгожитель
|
3)Даны натуральное число n, действительная матрица размера n x 9. Найти среднее арифметическое каждого из столбцов.
Зачем проверять не принадлежность j к четности? просто убери строку if j mod 2=0 then и все пойдет.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:41 | IP
|
|
Vetas
Новичок
|
Да с синусом притупил маленька))) , а так спасибо большое.
|
Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 20:51 | IP
|
|
KMA
Долгожитель
|
2)Даны натуральные числа n, a[1],...,a[n]. Определить количество членов a[k] последовательности a[1],...,a[n], являющихся нечетны- ми числами.
Все хорошо, только условие у тебя не верное, поменяй его на: if (A[ i ] mod 2=1) then {продолжаешь код}
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:52 | IP
|
|
Vetas
Новичок
|
А вот ети можеш проверить заранее БОЛЬШОЕ СПАСИБО=) 1)100 Вычислить: S 1/i^2, где S - сумма. i=1 const n=100; var i:integer; s:real; begin write('s='); readln(s); s:=0; for i:=1 to n do s:=s+1/i*i; writeln('s=',s); end. 2)Дано натуральное n. Сколько цифр в числе n? var i,n:LongInt; begin Writeln('vvedite chislo'); ReadLn(n); i:= 1; while n>=10 do begin n:=n div 10; Inc(i); end; Writeln('i=', i); ReadLn; end. 3)Даны натуральное число n, действительные числа a[1],...,a[n]. Вы- числить a[1]+...+a[n]. var N: integer; A: array[1..1000] of real; P: real; I: integer; K: real; begin Write('N='); Readln(N); P:=1; for I:=1 to N do begin Write('Vvedite ',I,'-е chislo A[',I,']='); Readln(A[ i ]); P:=P+A[ i ]; end; K:=Sqrt(Abs(P)); Writeln('K=',K); ReadLn; end. (Сообщение отредактировал KMA 25 дек. 2007 12:29)
|
Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 23:22 | IP
|
|
KMA
Долгожитель
|
Вычислить: S 1/i^2, где S - сумма. i=1
Вы чего, издеваетесь что ли? Ведь на предыдущей странице эта же задача, один в один. Ошибка есть, но не скажу какая, т. к. смотреть надо, а не просто тупо копировать. По двести раз одну и ту же задачу решать никто вам не будет.
2)Дано натуральное n. Сколько цифр в числе n?
После заверешния цикла еще 1 надо прибавить (скорей всего). И вообще давай договоримся, задачи ТЫ ПРОВЕРЯЕШЬ САМ, а сюда пишешь только то, что не получается.
3)Даны натуральное число n, действительные числа a[1],...,a[n]. Вы- числить a[1]+...+a[n].
Ты что, программу угадываешь что-ли? Зачем тебе квадратный корень из суммы массива? Тем более когда считаешь сумму, переменную обнуляют, а не присваивают ей значение 1. И вообще, для кого пишу красным? Чтобы вы обратили внимание. Еще раз так код скинешь, и при этом без отступов, вообще смотреть никто не будет, в том числе и я.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 26 окт. 2007 16:13 | IP
|
|
|