Технический форум

Технический форум (http://www.tehnari.ru/)
-   Математика (http://www.tehnari.ru/f173/)
-   -   Помогите решить задачи (http://www.tehnari.ru/f173/t32097/)

BLADEE 16.01.2010 18:30

Помогите решить задачи
 
помогите решить задачи по паскалю полностью с условием и концом плиз

вот задачи

1)Дан файл целых чисел. удвоить его размер записав в конце файла все его исходные элементы в обратном порядке.

2)Дан массив из N вещественных чисел . Сгенерировать строку состоящую из четных элементов массива разделенными пробелами.Все числа должны
быть представленыс точностью до 4 знаков после запятой.


зарание спасибо тока решите полностью с условием и концом пожалуйсто

BLADEE 18.01.2010 13:44

ап помогите плиз

Vladimir_S 18.01.2010 15:53

Цитата:

Сообщение от BLADEE (Сообщение 282740)
помогите решить задачи по паскалю полностью с условием и концом плиз

Экой Вы настырный, однако. И почему мы за Вас должны эти детские задачки решать? И потом - что значит "с условием и концом"? Не понимаю. А еще терпеть не могу этот оборотик: "Дан файл", "Дан массив" и т.п. Как дан? В каком виде "дан"? Надо его самому создавать или существует исходно? Ну в общем так. Будем считать, что в корневом каталоге диска С: имеется файл с целыми числами по имени xxx, не содержащий переносов (для первой задачи) и сформирован массив вещественных чисел A для второй. Дальше так:
Цитата:

1)Дан файл целых чисел. удвоить его размер записав в конце файла все его исходные элементы в обратном порядке.
Код:

CONST
 Nmax=500;
VAR
 C:ARRAY[1..Nmax] of INTEGER;
 N,i:INTEGER;
 f:TEXT;
BEGIN
 Assign(f,'C:\xxx');
 ReSet(f);
 N:=0;
 While (Not EoF(f)) do
  begin
  INC(N);
  Read(f,C[N]);
  end;
 Close(f);
 Append(f);
 WriteLn(f);
 For i:=N downto 1 do
  Write(f, C[i], ' ');
 Close(f);
END.

Цитата:

2)Дан массив из N вещественных чисел . Сгенерировать строку состоящую из четных элементов массива разделенными пробелами.Все числа должны
быть представленыс точностью до 4 знаков после запятой.
Тут опять же не очень понятно - что значит "четные элементы массива"? Если это элементы, имеющие четные номера, то так:
Код:

CONST
 N=100;
VAR
 A:ARRAY[1..N] of REAL;
 i:INTEGER;
BEGIN
 i:=2;
 Repeat
  Write(A[i]:12:4);
  INC(i,2);
 Until i>N;
 ReadLn;
END.

А если это четные числа, входящие в массив, то так:
Код:

CONST
 N=100;
VAR
 A:ARRAY[1..N] of REAL;
 i:INTEGER;
BEGIN
 For i:=1 to N do
  If (A[i] mod 2)=0 then
  Write(A[i]:12:4);
 ReadLn;
END.


BLADEE 19.01.2010 13:18

по поводу ето задачи

CONST
Nmax=500;
VAR
C:ARRAY[1..Nmax] of INTEGER;
N,i:INTEGER;
f:TEXT;
BEGIN
Assign(f,'C:\xxx');
ReSet(f);
N:=0;
While (Not EoF(f)) do
begin
INC(N);
Read(f,C[N]);
end;
Close(f);
Append(f);
WriteLn(f);
For i:=N downto 1 do
Write(f, C[i], ' ');
Close(f);
END.

она должна в текстовом выгледить так чтобы выдавала
например исходные файлы записаны 12345678 его нада удвоить а в коцне чтобы выгледело все в обртаном порядке ето насчет 1 задачи. а так когда включаю выдает тока одни 0 в токой строке 0
00
000


2 задача должна генерировать числа входящие в масив любые. тока второй вариант не работает почемуто у меня
http://www.tehnari.ru/imagehosting/2...578aa24bb3.png

Vladimir_S 19.01.2010 14:58

Вложений: 2
Цитата:

Сообщение от BLADEE (Сообщение 283700)
по поводу ето задачи

она должна в текстовом выгледить так чтобы выдавала
например исходные файлы записаны 12345678 его нада удвоить а в коцне чтобы выгледело все в обртаном порядке ето насчет 1 задачи. а так когда включаю выдает тока одни 0 в токой строке 0
00
000

Ну не знаю, правильно ли я понял. У меня программа работает так (показано содержимое исходного файла и того же файла после прогона программы):

Vladimir_S 19.01.2010 15:01

Цитата:

Сообщение от BLADEE (Сообщение 283700)

2 задача должна генерировать числа входящие в масив любые. тока второй вариант не работает почемуто

Да, это я виноват - забыл, что массив-то вещественный, а не целочисленный. Так что второй вариант отменяется.

BLADEE 20.01.2010 13:28

Цитата:

Сообщение от Vladimir_S (Сообщение 283726)
Ну не знаю, правильно ли я понял. У меня программа работает так (показано содержимое исходного файла и того же файла после прогона программы):

да поповоду 1 задачи все правельно тока должно быть так

10 23 43 123 3221
6442 246 86 46 20

там же написано его удвоить

BLADEE 20.01.2010 13:29

ну и напиши плиз тут две решонные эти задачи зарание спасибо

Vladimir_S 20.01.2010 14:11

Цитата:

Сообщение от BLADEE (Сообщение 284136)
да поповоду 1 задачи все правельно тока должно быть так

10 23 43 123 3221
6442 246 86 46 20

там же написано его удвоить

Читайте ВНИМАТЕЛЬНО формулировку задачи:
Цитата:

Дан файл целых чисел. Удвоить его размер, записав в конце файла все его исходные элементы в обратном порядке.
То есть не числа надо удваивать, а размер файла, путем добавления в него ТЕХ ЖЕ ЧИСЕЛ, но выстроенных в обратом порядке.


А по поводу второй задачи - ладно, добавлю еще генерацию самогО массива.

Цитата:

Дан массив из N вещественных чисел . Сгенерировать строку, состоящую из четных элементов массива, разделенных пробелами. Все числа должны быть представлены с точностью до 4 знаков после запятой.
Код:

CONST
 N=10;
VAR
 A:ARRAY[1..N] of REAL;
 i:INTEGER;
BEGIN
 Randomize;
 WriteLn('Initial array:');
 For i:=1 to N do
  begin
  A[i]:=Random*10;
  Write(A[i]:7:4);
  end;
 WriteLn;
 WriteLn;
 WriteLn('Even-placed elements:');
 i:=2;
 Repeat
  Write(A[i]:7:4);
  INC(i,2);
 Until i>N;
 WriteLn;
 ReadLn;
END.


BLADEE 20.01.2010 14:59

напиши первую задачу полностью плиз

а нас чет второй должны генерироваться четные числа масива

вот например

четыне элементы 2.3454 4.3213 6.4323 что такое чтоыб числа четные были


Часовой пояс GMT +4, время: 05:03.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.