Помощь - Поиск - Пользователи - Календарь
Полная версия: Бесконечная сумма, целочисленная матрица,полидром
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
mtusi
завтра у меня рубежка....надо решить задачи решил уже некоторые осталось 3-4 задачи..

одну из них я уже щас почти дорешал , а вот в трех остальных требуется помощь ... очень срочная помощь....
1) дано действительное Х
вычислить приблизительное значение бесконечной суммы с точностью 0.00001

1/x + 1/(3x^3) + 1/(5x^5) + ...
x>1

2)дана целочисленная матрица размера 6*9
найти матрицу, получающуюся из данной - перестановкой строк. 1 с последней, второй с предпоследней и тд.

3)назовем натуральное число полидромом, это такое число, запись которого читается одинкого и с начала и с конца, как например, 4884
найти все, мешьше 100 числа (натуральне), которые, при возведении в квадрат образуют полидром...


ОЧЕНЬ прошу помогите мне.....щас я занят другими..а эти никак не получаются, вы меня очень выручите....
volvo
1.
Код

const
 eps = 0.00001;
var
 i: integer;
 x, s, next: real;
begin
 write('x = '); readln(x);

 s := 0; i := 1;
 repeat
   next := 1 / (i * Exp(i * Ln(x)));
   s := s + next; inc(i)
 until next <= eps;

 writeln('s = ', s:10:6);
end.


Пример определения, является ли число палиндромом, есть здесь
mithquessir
2.
Код

uses crt;
const
    n = 10;
    m = 9;
var
    a:array[1..n,1..m] of integer;
    i,j,x,x1:integer;
begin
    randomize;
    clrscr;
    for i := 1 to n do
    begin
         WriteLn;
         WriteLn;
         for j := 1 to m do
         begin
              a[i,j] := random(10);
              Write(a[i,j]:2);
         end;
    end;
    WriteLn;
    for j := 1 to m do
    for i := 1 to n div 2 do
    begin
         x := a[i,j];
         a[i,j] := a[n-i+1,j];
         a[n-i+1,j] := x;
    end;
    for i := 1 to n do
    begin
         WriteLn;
         WriteLn;
         for j := 1 to m do
         begin
              Write(a[i,j]:2);
         end;
    end;
end.
volvo
mithquessir
Ну будет кто-нибудь проверять программы, перед тем, как сюда постить? :fire:
Ты меняешь местами 1 и последнюю строки, 2-ю и предпоследнюю, а на и т.д. ты внимание не обратил? А ведь в матрице не 5, а 6 строк (т.е. третью и 4-ю тоже надо менять местами...)
Код

var x: integer;
...
for j := 1 to m do
 for i := 1 to n div 2 do
   begin
      x := a[i,j];
      a[i,j] := a[n-i+1,j];
      a[n-i+1,j] := x;
   end;
mithquessir
volvo
:molitva: :molitva: :molitva:
Больше не буду. :no:
Я исправил пр. пост.
mtusi
модераторы удалите мой предыдущий пост)
вот мой вариант..проверьте на грамотность плиз..вроде работает))

Код
Program Matrix;

{$APPTYPE CONSOLE}

Var
S  : Integer;
X  :  Array [1..6, 1..9] Of Integer;
M, N :   Integer;
Q, P :  Integer;
i, j  :   Integer;
Begin
n:=6;
m:=9;
WriteLn ('vvedite massiv');
For i := 1 To N Do
For j := 1 To M Do
Begin
Write ('X[', i: 2, ',', j: 2, ']', ' = ');
Read (X [i, j] );
End;
for p:=3 downto 1 do
begin
for q:=6 downto 4 do
begin
For i := 1 To M Do
Begin
S := X [Q, i];
X [Q, i] := X [P, i];
X [P, i] := S;
End;
end;
end;
WriteLn ('tablica posle perestanovki');
For i := 1 To N Do
Begin
For j := 1 To M Do
Write (X [i, j] : 4);
WriteLn;
End;
ReadLn;
End.
volvo
mtusi
Вам привели полностью работоспособную программу, Вы ее перевернули с ног на голову и хотите, чтобы мы ее еще и проверяли? Не работает Ваш вариант...
mtusi
volvo
спасибо большое за то, что привели.....
дело в том, что я писал свой вариант еще вчера ночью....и ничего я не переворачивал.просто так вот у меня получилось.

п.с.
вроде он работал
я у себя задавал числа (для проверки такой один столбик только и у меня получалось)
1
2
3
4
5
6

из предыдущего , следущее:

6
5
4
3
2
1
........
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.