Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
 
Kesha777
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 64
#1

Прочитать из типизированного файла целых чисел числа с заданными номерами - Turbo Pascal

19.01.2018, 13:00. Просмотров 225. Ответов 19
Метки нет (Все метки)

Напишите программу, которая читает из типизированного файла целых чисел числа с номерами 1,3,5,7,2*n+1 и выводит их на экран.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2018, 13:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Прочитать из типизированного файла целых чисел числа с заданными номерами (Turbo Pascal):

Записать в типизированный файл несколько целых чисел, после чего вывести эти целые числа из типизированного файла на экран монитора - Turbo Pascal
1. Создать или открыть текстовый (типизированный, нетипизированный) файл. 2. Выполнить над текстовым (типизированным, ...

Написать программу создания типизированного файла целых чисел - Pascal
Необходимо написать программу создания типизированного файла с целыми числами. Количество чисел 100. Числа генерируются случайным образом в...

Прочитать из текстового файла произвольную последовательность из 30 целых чисел - Pascal
Напишите программу на языке Паскаль, которая читает из текстового файла произвольную последовательность из 30 целых чисел, строит список,...

Из типизированного файла, который содержит несколько целых чисел, вывести на экран монитора целое число с определенным порядковым номером. - Turbo Pascal
Из типизированного файла, который содержит несколько целых чисел, вывести на экран монитора целое число с определенным порядковым номером.

Записать в типизированный файл несколько вещественных чисел, после чего вывести эти вещественные числа из типизированного файла на экран монитора. - Pascal
Записать в типизированный файл несколько вещественных чисел, после чего вывести эти вещественные числа из типизированного файла на экран...

Создать типизированный файл, который содержит несколько вещественных чисел, после чего вывести эти вещественные числа из типизированного файла на эк - Pascal
Создать типизированный файл, который содержит несколько вещественных чисел, после чего вывести эти вещественные числа из типизированного...

19
Cyborg Drone
Модератор
5220 / 3085 / 1278
Регистрация: 17.08.2012
Сообщений: 9,960
19.01.2018, 13:49 #2
Задание не вполне понятное. Буду считать, что требуется вывести все компоненты файла с нечётными индексами.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  f: file of integer;
  x: integer;
  i: longword;
 
begin
  assign(f, 'file.dat');
  reset(f);
  for i := 0 to (FileSize(f) - 1) div 2 do
    begin
      seek(f, i * 2 + 1);
      read(f, x);
      write(x:10)
    end;
  readln
end.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3746 / 2443 / 1302
Регистрация: 22.11.2013
Сообщений: 6,771
19.01.2018, 13:59 #3
Можно и без Seek():
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  f: file of Integer;
  x, t: integer;
  i: Longword;
begin
  Assign(f, 'file.dat');
  Reset(f); 
  Read(f, x); Write(x:10);
  for i := 1 to (FileSize(f) - 1) div 2 do
    begin
      Read(f, t, x);
      Write(x:10);
    end;
  ReadLn;
end.
0
Cyborg Drone
Модератор
5220 / 3085 / 1278
Регистрация: 17.08.2012
Сообщений: 9,960
19.01.2018, 14:33 #4
Можно и так. Правда, если считать, что индексация элементов файла начинается с 1, а не с 0, как положено. Но насчёт индексации вопрос спорный, вполне возможно, что в учебном заведении, где учится ТС, считается, что индексация в файле начинается с 1. Гримасы современного образования... Я уже перестаю удивляться.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3746 / 2443 / 1302
Регистрация: 22.11.2013
Сообщений: 6,771
19.01.2018, 16:45 #5
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Можно и так. Правда, если считать, что индексация элементов файла начинается с 1, а не с 0, как положено
С нуля, просто мы первый элемент уже до цикла прочитали. Читать парами Read(f,x,t) нельзя -- может быть нечетное количество элементов. Поэтому Read(f,x) перед циклом, а дальше пары Read(f,t,x).
0
Cyborg Drone
Модератор
5220 / 3085 / 1278
Регистрация: 17.08.2012
Сообщений: 9,960
20.01.2018, 00:50 #6
В 8 строке прочитали нулевой элемент и тут же распечатали. А не надо было: он чётный. И далее... 11, 12 строки: нечётные пропускаются, чётные печатаются.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3746 / 2443 / 1302
Регистрация: 22.11.2013
Сообщений: 6,771
20.01.2018, 10:23 #7
Cyborg Drone,
Ах, в этом смысле с 1.
Проблемы нет на самом деле, номера от 1, смещения от 0. Но если вдруг номера от 0, то все еще проще и чище
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  f: file of Integer;
  x, t: integer;
  i: Longword;
begin
  Assign(f, 'file.dat');
  Reset(f);
  for i := 0 to (FileSize(f) - 1) div 2 do
    begin
      Read(f, t, x);
      Write(x:10);
    end;
  ReadLn;
end.
0
Puporev
Модератор
53851 / 41484 / 14587
Регистрация: 18.05.2008
Сообщений: 97,225
20.01.2018, 11:44 #8
Нужно вывести
Цитата Сообщение от Kesha777 Посмотреть сообщение
числа с номерами 1,3,5,7,2*n+1
т.е. a[0],a[2],a[4].....
0
Kesha777
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 64
20.01.2018, 15:09  [ТС] #9
меня впринципе устроил этот вариант. Зачем усложнять?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Program zah1;
Var
F: text;
S: string;
I: integer;
Begin
Write(' Введите имя файла - '); readln(s);
Assign(f,s);
Reset(f);
While not eof(f) do begin read(f,I);
  If I mod 2 > 0 then write(' ', I); 
  End;
Close(f);
Readln
End.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3746 / 2443 / 1302
Регистрация: 22.11.2013
Сообщений: 6,771
20.01.2018, 17:57 #10
Kesha777,
будет смешно, если этот вариант (вывод нечетных чисел) устроит проверяющего (зачача-то о выводе чисел, стоящих на нечетных позициях).

Добавлено через 5 минут
Но да, ее можно переписать без FileSize:
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
  f: file of Integer;
  x, n: Integer;
begin
  Assign(f, 'file.dat'); Reset(f);
  while not EoF(f) do begin
    Read(f, x); Inc(n);
    if Odd(n) then Write(x:10);
  end;
  ReadLn;
end.
0
Kesha777
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 64
20.01.2018, 18:18  [ТС] #11
Ребят, а как вы располагаете числа то. Киньте свой тестовый файл .dat. У меня ни одна из ваших программ не работает.
0
Puporev
Модератор
53851 / 41484 / 14587
Регистрация: 18.05.2008
Сообщений: 97,225
20.01.2018, 18:50 #12
Цитата Сообщение от Kesha777 Посмотреть сообщение
Киньте свой тестовый файл .dat
Какой текстовый файл? Вам нужно создать типизированный файл, а потом его читать.
0
Kesha777
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 64
20.01.2018, 18:53  [ТС] #13
Puporev, Не текстовый а тестовый. Который и нужно создать. МОжет я не так создаю, что у меня не работает ничего.

Добавлено через 48 секунд
file.dat
что в нем должно быть записано что бы работало?
0
Puporev
Модератор
53851 / 41484 / 14587
Регистрация: 18.05.2008
Сообщений: 97,225
20.01.2018, 18:55 #14
Цитата Сообщение от Kesha777 Посмотреть сообщение
МОжет я не так создаю,
Ну так найдите тему про типизированные файлы и посмотрите как их создают. Напишите в начале программы создание файла, а потом уже его чтение.
0
Kesha777
1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 64
20.01.2018, 19:10  [ТС] #15
Puporev, я имею ввиду руками создать как. В блокноте например и как расположить числа? в строчку через пробел, через запятую, или каждое число с новой строки или как?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2018, 19:10
Привет! Вот еще темы с ответами:

В одномерном массиве, состоящем из n целых чисел, заменить элементы с четными номерами нулем, а элементы с нечетными номерами - 1. - Turbo Pascal
В одномерном массиве, состоящем из n целых чисел, заменить элементы с четными номерами нулем, а элементы с нечетными номерами - 1.

Компоненты типизированного файла – целые числа. - Turbo Pascal
Компоненты типизированного файла – целые числа. Создать новый файл, в который записать общее количество компонент исходного файла, их...

Написать процедуру погружающую все отрицательные числа из файла целых чисел в стек - Pascal
Написать процедуру погружающую все отрицательные числа из файла целых чисел в стек

Из текстового файла записать в файл целых чисел все числа кратные заданному K - Turbo Pascal
Добрый вечер! Помогите написать код на Паскале,.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru