2 / 2 / 3
Регистрация: 21.07.2009
Сообщений: 49
1

Рациональные числа в файле

13.11.2009, 18:48. Показов 3883. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В файле содержатся рациональные числа, причем рациональное число изображается в виде записи с двумя полями: числитель и знаменатель целого типа. Вычислить наибольшее из данных рациональных чисел. Если их несколько, то выдать номера компонентов всех таких чисел.

вот мое решение но не правильно выдает:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uses crt;
const n=20;
type rac=record
     chisl:integer;
     znam:integer;
     end;
var f:file of integer;
    q:rac;
    i,max,a,b:integer;
BEGIN
clrscr;
randomize;
Assign(f,'m:/tp7/bin/exe_2/file.dat');
{$I-}
Rewrite(f);
{$I+}
if IOResult=0 then
   begin
        for i:=1 to (n div 2) do
            begin
            q.chisl:=random(101)-random(101);
            q.znam:=1+random(100);
            write(f,q.chisl);
            write(f,q.znam);
            writeln(i,': ',q.chisl,'/',q.znam,'=',q.chisl/q.znam:3:3);
            end;
        Close(f);
 
        Reset(f);
        read(f,q.chisl,q.znam);
        a:=q.chisl; b:=q.znam;
        seek(f,2);
        i:=2;
        while not eof(f) do
              begin
              read(f,q.chisl,q.znam);
              if (a*q.znam-b*q.chisl)<0 then
                 begin
                 a:=q.chisl; b:=q.znam;
                 max:=FilePos(f)-2;
                 inc(i,2);
                 end
              else
                  max:=FilePos(f)-i;
              end;
        seek(f,max);
        read(f,a,b);
 
        writeln('Naibolshee znachenie: ',a,'/',b,' ');
        write('Nomera vsex komponent s naibolshim znacheniem: ');
        seek(f,0);
        while not eof(f) do
            begin
            read(f,q.chisl,q.znam);
            if (a=q.chisl)and(b=q.znam) then write(FilePos(f)-2,' ');
            end;
        writeln;
   end
else writeln('File not be found!');
Close(f);
readln;
END.
Добавлено через 18 минут
хелп плз

Добавлено через 32 минуты
ну гляньте кто-нибудь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2009, 18:48
Ответы с готовыми решениями:

Извлечь из текстового файла все рациональные числа, без повторов
ривет Всем! В программировании я совсем не силен, но жизнь сталкивает меня с такими ситуациями...

Отсортировать рациональные числа в виде: <числитель> <знаменатель>
В файле Ratio содержатся рациональные числа в виде: &lt;числитель&gt; &lt;знаменатель&gt; Расположить их в...

Рациональные числа
Есть рациональное число больше единицы. Нужно доказать, что используя действия сложения, вычитания...

Рациональные числа
Доброго времени суток ! В проекте нужно было написать класс рационального числа.После чего решение...

1
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
13.11.2009, 20:16 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
program EvgeniiSp;
uses crt;
const n=20;
type rac = record
            chisl:integer;
            znam:integer;
           end;
var 
 f: file of rac;
 q: rac;
 maximum: real;
 i,max,a,b: integer;
BEGIN
clrscr;
randomize;
maximum:=-100;
Assign(f,'d:file.dat');
Rewrite(f);
        for i:=1 to (n div 2) do
           begin
            q.chisl:=random(101)-random(101);
            q.znam:=1+random(100);
            write(f,q);
            writeln(i,': ',q.chisl,'/',q.znam,'=',q.chisl/q.znam:3:3);
           end;
        Close(f);
 
        Reset(f);
        while not eof(f) do
             begin
              read(f,q);
              if (q.chisl/q.znam) > maximum then
                begin
                 a:=q.chisl; b:=q.znam;
                 maximum:=q.chisl/q.znam;
                 max:=FilePos(f);
                end;
             end;
             
        writeln('Naibolshee znachenie: ',a,'/',b,' ');
        write('Nomera vsex komponent s naibolshim znacheniem: ');
        seek(f,0);
        while not eof(f) do
           begin
            read(f,q);
            if (q.chisl/q.znam) = maximum then write(FilePos(f),' ');
           end;
Close(f);
readln;
END.
0
13.11.2009, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2009, 20:16
Помогаю со студенческими работами здесь

Рациональные числа
Есть ли у когото информация или пример проги для работы с рациональными числами?

Иррациональные и рациональные числа
Прошу помощи максимально просто доказать или опровергнуть, что в любой окрестности иррационального...

Случайные рациональные числа в массиве
Помогите, пожалуйста, наполнить массив случайными рациональными числами.. Как целыми я, вроде...

Доказать, что рациональные числа не удовлетворяют аксиоме непрерывности
Помогите доказать, что рациональные числа не удовлетворяют аксиоме непрерывности, используя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru