0 / 0 / 0
Регистрация: 14.06.2012
Сообщений: 13
1

Получить в файле g все компоненты файла f, являющиеся четными числами

26.06.2012, 22:36. Показов 9531. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Дан файл f компоненты которого явл-ся целыми числами. получить в файле g все компоненты файла f: а) являющиеся четными числами б) делящиеся на 3 и не делящиеся на 7 в) являющиеся точными квадратами

2. дан символьный файл f. Найти самое длинное слово среди слов, вторая буква которых есть Е. если слов с наибольшей длинной несколько то найти последнее. если таких слов нет вообще, то сообщить об этом. Решить эту задачу: а) полагая что слова состоят не более чем из 10 символов. б) без ограничения на число символов в слове.

сделайте пожалуйста с полным листингом программ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2012, 22:36
Ответы с готовыми решениями:

Дан 1 файл,во 2 файле необходимо вывести все компоненты файла 1,являющиеся четными числами
дан файл f,компоненты которого являются целыми числами.Получить в файле g все компоненты файла...

Получить в файле g все компоненты файла f, являющиеся нечетными
Добрый день ребята можете выручить пожалуйста на ДЕЛФИ! Дан файл f, компоненты которого являются...

Дан файл f, компоненты которого являются натуральными числами. Получить в файле g все компоненты файла f, делящиеся на 3 и не делящиеся на 7.
Дан файл f, компоненты которого являются натуральными числами. Получить в файле g все компоненты...

Получить в файле g все компоненты файла f являющиеся четными числами
помогите пожалуйста! 1. Дан файл f, компоненты которого являются целыми числами. Получить в...

2
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
29.06.2012, 01:22 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

По первой задаче:
Delphi
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//1. Дан файл f компоненты которого являются целыми числами.
//получить в файле g все компоненты файла f:
//а) являющиеся четными числами
//б) делящиеся на 3 и не делящиеся на 7
//в) являющиеся точными квадратами
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Type
  TIntFile = File Of Integer;
 
Var
  f,g : TIntFile;
  i,j : Integer;
begin
 
  //СОЗДАДИМ ИСХОДНЫЙ ФАЙЛ...
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Rewrite(f); //Создаём файл и открываем для записи
  Randomize; //Инициализируем генератор случайных чисел
  //Заполняем файл...
  For i:=1 To 1000 Do
  Begin
    j:=Random(1000)-500; //Случайное число от -500 до 499
    Write(f,j);
  End;
  CloseFile(f); //Закрываем исходный файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ЯВЛЯЮЩИЕСЯ ЧЕТНЫМИ ЧИСЛАМИ
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    If (j Mod 2)=0 Then
    //Если число чётное
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ДЕЛЯЩИЕСЯ НА 3 И НЕ ДЕЛЯЩИЕСЯ НА 7
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    If (((j Mod 3)=0) And ((j Mod 7)<>0)) Then
    //Если число делится на 3 и не делится на 7
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ЯВЛЯЮЩИЕСЯ ТОЧНЫМИ КВАДРАТАМИ
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    i:=Round(Sqrt(j));
    If (j*j)=i Then
    //Если число является точным квадратом
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
end.
Сделана в консоли. Все подзадачи в одной программе. Стоит для каждой подзадачи сделать свою программу, оставив только нужный код. Я там явно выделил.

Добавлено через 2 часа 31 минуту
Код ко второй задаче. Консольное приложение. Можно всё в одной программе выполнять, а можно выделить в отдельные программы по подзадачам.
Delphi
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
//Дан символьный файл f.
//Найти самое длинное слово среди слов, вторая буква которых есть Е.
//Если слов с наибольшей длинной несколько то найти последнее.
//Если таких слов нет вообще, то сообщить об этом.
//Решить эту задачу:
//а) полагая что слова состоят не более чем из 10 символов.
//б) без ограничения на число символов в слове.
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, Windows;
 
Type
  TCharFile = File Of Char;
 
Var
  f : TCharFile;
  i,j,k,l : Integer;
  s,s1 : String;
  Ch : Char;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
 
  //СОЗДАДИМ ИСХОДНЫЙ ФАЙЛ...
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Rewrite(f); //Создаём файл и открываем для записи
  Randomize; //Инициализируем генератор случайных чисел
  //Заполняем файл...
  Ch:=' ';
  k:=0; //Счётчик букв в слове
  For i:=1 To 5000 Do
  Begin
    If k<>0 Then
    Begin
      //Формируем слова...
      l:=Random(20);
      If ((l=0) Or (k=15)) Then
      //Конец слова (либо заканчиваем случайным образом - либо длина 15 символов)
      Begin
        Write(f,Ch); //Выдадим пробел - разделитель слов
        k:=0;
      End;
    End;
    j:=Random(Ord('я')-Ord('А'))+Ord('А'); //Случайное число коды букв от "А" до "я"
    Write(f,Char(j));
    Inc(k);
  End;
  CloseFile(f); //Закрываем исходный файл
 
 
  //НАЙТИ САМОЕ ДЛИННОЕ СЛОВО СРЕДИ СЛОВ, ВТОРАЯ БУКВА КОТОРЫХ ЕСТЬ Е.
  //ЕСЛИ СЛОВ С НАИБОЛЬШЕЙ ДЛИННОЙ НЕСКОЛЬКО ТО НАЙТИ ПОСЛЕДНЕЕ.
  //ЕСЛИ ТАКИХ СЛОВ НЕТ ВООБЩЕ, ТО СООБЩИТЬ ОБ ЭТОМ.
  //(полагая что слова состоят не более чем из 10 символов)
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
 
  s:='';
  s1:=''; //Будет искомое слово
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,Ch);
    If (Ch In ['А'..'я']) Then
    s:=s+Ch; //Формируем слово
 
    If Length(s)=10 Then
    Ch:=' '; //Если длина слова 10 символов - будем обрабатывать как после разделителя
 
    If (Not (Ch In ['А'..'я'])) Or Eof(f) Then
    //Разделитель или дальше конец файла
    Begin
      If Length(s)>1 Then
      If Length(s)>=Length(s1) Then
      If s[2]='Е' Then
      s1:=s;
 
      s:='';
    End;
  End;
 
  CloseFile(f); //Закрываем исходный файл
 
  //Выдаём найденное слово...
  If Length(s1)=0 Then
  WriteLn('Слов со второй буквой "Е" не обнаружено !') Else
  WriteLn(s1);
 
  //НАЙТИ САМОЕ ДЛИННОЕ СЛОВО СРЕДИ СЛОВ, ВТОРАЯ БУКВА КОТОРЫХ ЕСТЬ Е.
  //ЕСЛИ СЛОВ С НАИБОЛЬШЕЙ ДЛИННОЙ НЕСКОЛЬКО ТО НАЙТИ ПОСЛЕДНЕЕ.
  //ЕСЛИ ТАКИХ СЛОВ НЕТ ВООБЩЕ, ТО СООБЩИТЬ ОБ ЭТОМ.
  //(без ограничения на число символов в слове)
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
 
  s:='';
  s1:=''; //Будет искомое слово
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,Ch);
    If (Ch In ['А'..'я']) Then
    s:=s+Ch; //Формируем слово
 
    If (Not (Ch In ['А'..'я'])) Or Eof(f) Then
    //Разделитель или дальше конец файла
    Begin
      If Length(s)>1 Then
      If Length(s)>=Length(s1) Then
      If s[2]='Е' Then
      s1:=s;
 
      s:='';
    End;
  End;
 
  CloseFile(f); //Закрываем исходный файл
 
  //Выдаём найденное слово...
  If Length(s1)=0 Then
  WriteLn('Слов со второй буквой "Е" не обнаружено !') Else
  WriteLn(s1);
 
  ReadLn; //Ожидаем нажатия Enter пользователем
end.
2
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
03.07.2012, 18:30 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот первая задача:
1. Дан файл f компоненты которого являются целыми числами.
получить в файле g все компоненты файла f:
а) являющиеся четными числами

Просто создаёшь консольное приложение, в него копируешь этот код, компилируешь и запускаешь.
Создаётся исходный файл Input.dat (заполняется случайными числами), потом создаётся файл Outut.dat в который записываются все чётные числа из исходного файла. Файлы типизированные, поэтому блокнотом их не прочитаешь.
Delphi
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
//1. Дан файл f компоненты которого являются целыми числами.
//получить в файле g все компоненты файла f:
//а) являющиеся четными числами
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, Windows;
 
Type
  TIntFile = File Of Integer;
 
Var
  f,g : TIntFile;
  i,j : Integer;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  //СОЗДАДИМ ИСХОДНЫЙ ФАЙЛ...
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Rewrite(f); //Создаём файл и открываем для записи
  Randomize; //Инициализируем генератор случайных чисел
  //Заполняем файл...
  For i:=1 To 1000 Do
  Begin
    j:=Random(1000)-500; //Случайное число от -500 до 499
    Write(f,j);
  End;
  CloseFile(f); //Закрываем исходный файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ЯВЛЯЮЩИЕСЯ ЧЕТНЫМИ ЧИСЛАМИ
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    If (j Mod 2)=0 Then
    //Если число чётное
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
 
  WriteLn('Файл Outut.dat, компоненты которого есть чётные числа - создан!');
  ReadLn; //Ждём нажатия пользователем Enter
end.
Добавлено через 6 минут
Вот задача 1.б
1. Дан файл f компоненты которого являются целыми числами.
получить в файле g все компоненты файла f:
б) делящиеся на 3 и не делящиеся на 7

Просто создаёшь консольное приложение, в него копируешь этот код, компилируешь и запускаешь.
Создаётся исходный файл Input.dat (заполняется случайными числами), потом создаётся файл Outut.dat в который записываются все числа делящиеся на 3 и не делящиеся на 7 из исходного файла. Файлы типизированные, поэтому блокнотом их не прочитаешь.
Delphi
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
//1. Дан файл f компоненты которого являются целыми числами.
//получить в файле g все компоненты файла f:
//б) делящиеся на 3 и не делящиеся на 7
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Type
  TIntFile = File Of Integer;
 
Var
  f,g : TIntFile;
  i,j : Integer;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  //СОЗДАДИМ ИСХОДНЫЙ ФАЙЛ...
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Rewrite(f); //Создаём файл и открываем для записи
  Randomize; //Инициализируем генератор случайных чисел
  //Заполняем файл...
  For i:=1 To 1000 Do
  Begin
    j:=Random(1000)-500; //Случайное число от -500 до 499
    Write(f,j);
  End;
  CloseFile(f); //Закрываем исходный файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ДЕЛЯЩИЕСЯ НА 3 И НЕ ДЕЛЯЩИЕСЯ НА 7
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    If (((j Mod 3)=0) And ((j Mod 7)<>0)) Then
    //Если число делится на 3 и не делится на 7
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
 
  WriteLn('Файл Outut.dat, компоненты которого есть числа делящиеся на 3 и не делящиеся на 7 - создан!');
  ReadLn; //Ждём нажатия пользователем Enter
end.
Добавлено через 4 минуты
Вот задача 1.в
1. Дан файл f компоненты которого являются целыми числами.
получить в файле g все компоненты файла f:
в) являющиеся точными квадратами

Просто создаёшь консольное приложение, в него копируешь этот код, компилируешь и запускаешь.
Создаётся исходный файл Input.dat (заполняется случайными числами), потом создаётся файл Outut.dat в который записываются все числа являющиеся точными квадратами из исходного файла. Файлы типизированные, поэтому блокнотом их не прочитаешь.
Delphi
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
//1. Дан файл f компоненты которого являются целыми числами.
//получить в файле g все компоненты файла f:
//в) являющиеся точными квадратами
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Type
  TIntFile = File Of Integer;
 
Var
  f,g : TIntFile;
  i,j : Integer;
begin
 
  //СОЗДАДИМ ИСХОДНЫЙ ФАЙЛ...
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Rewrite(f); //Создаём файл и открываем для записи
  Randomize; //Инициализируем генератор случайных чисел
  //Заполняем файл...
  For i:=1 To 1000 Do
  Begin
    j:=Random(1000)-500; //Случайное число от -500 до 499
    Write(f,j);
  End;
  CloseFile(f); //Закрываем исходный файл
 
 
  //ПОЛУЧИТЬ В ФАЙЛЕ G ВСЕ КОМПОНЕНТЫ ФАЙЛА F:
  //ЯВЛЯЮЩИЕСЯ ТОЧНЫМИ КВАДРАТАМИ
 
  AssignFile(f,'Input.dat'); //Связываем файловую переменную с файлом
  Reset(f); //Открываем файл для чтения
  AssignFile(g,'Outut.dat'); //Связываем файловую переменную с файлом
  Rewrite(g); //Создаём выходной файл и открываем для записи
 
  While Not Eof(f) Do //Пока не конец файла
  Begin
    Read(f,j); //Читаем значение из файла f
    i:=Round(Sqrt(j));
    If (j*j)=i Then
    //Если число является точным квадратом
    Write(g,j); //Пишем в выходной файл
  End;
  CloseFile(f); //Закрываем исходный файл
  CloseFile(g); //Закрываем результирующий файл
 
  WriteLn('Файл Outut.dat, компоненты которого есть точные квадраты - создан!');
  ReadLn; //Ждём нажатия пользователем Enter
end.
Добавлено через 10 минут
Для второй задачи.
Тоже просто создаёшь консольное приложение, в него копируешь этот код, компилируешь и запускаешь.
Создаётся исходный файл Input.dat (заполняется случайными словами разной длины), потом в этом файле выполняется поиск наибольшей длины слова со второй буквой "Е". Сначала по условию "а", потом по условию "б". Соответственно на экран консоли будет выдано 2 сообщения: Слово или "Не найдено".
Чтобы был русский текст в консоли: Читай комментарии в программе.
1
03.07.2012, 18:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2012, 18:30
Помогаю со студенческими работами здесь

Получить в файле g все компоненты файла f, являющиеся четными числами
Помогите написать программу. Дан файл f, компоненты которого являются целыми числами. Получить в...

Получить в файле g все компоненты файла f, являющиеся четными числами
Всем привет! Помогите, пожалуйста, написать код программы к задаче: Дан файл, компоненты которого...

Получить в файле все компоненты файла, являющиеся четными числами
Здание: Дан файл, компоненты которого являются целыми числами. Получить в файле g все компоненты...

Получить в файле g все компоненты файла f, являющиеся четными числами
Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла...


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

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

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