Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Dark_oz
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
1

Создать массив, элементы которого являются простыми числами и расположены до минимального элемента в файле

26.11.2009, 20:21. Просмотров 1166. Ответов 4
Метки нет (Все метки)

задача:
Взяв за основу файл целых чисел, создать массив, элементы которого являются простыми числами и расположены до минимального элемента. Записать массив в отдельный файл.
единственная идея это:
1: создал файл с целыми числами
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program abc;
uses crt;
var
f:file of integer;
a,i,n:integer;
   begin clrscr;
  randomize;
  assign(f,'g:\22\cel.dat');
  rewrite(f);
   n:=50;
 for i:=1 to n do
 begin
 a:=random(100);
 write(a:4);
 write(f,a);
end;
close(f);
writeln;
readln;
end.
2: начал перезаписывать из файла в массив а, затем ищу в массиве нужные числа и записываю в массив b, числа находятся но превращаются в 0
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
program f5;
var
f:file of integer;
i,m,n:integer;
a:array[0..50] of integer;
b:array[1..50] of integer;
begin
assign(f,'g:\22\cel.dat');
reset(f);
 for i:=0 to filesize(f)-1 do
 begin
 read(f,a[i]);
 write('  ',a[i]);
 end;
 readln;
n:=1;
for i:=0 to filesize(f)-1 do
begin
if (a[i] mod 2) <> 0 then
  if (a[i] mod 3) <> 0 then
    if (a[i] mod 5) <> 0 then
      if (a[i] mod 7) <> 0 then
    begin
     b[n]:=a[i];
     n:=n+1;
    end;
end;
close(f);
for i:=1 to n do
write(' ',b[n],' ');
readln;
end.
хелп плиз!!!!
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2009, 20:21
Ответы с готовыми решениями:

Дан двумерный массив. Вывести позиции элементов, которые являются простыми числами.
Я студентка-заочница и нужна помощь. Решите задачку: Дан двухмерный массив T. Вывести позиции...

Создать новый массив, элементами которого являются все отрицательные элементы исходного массива
Добрый день.Не могли бы вы помочь с задачей на одномерный массив. 6.3. Дан массив С(п). Создать...

Создать массив, элементами которого являются суммы цифр каждого элемента исходного массива
Дан одномерный массив, который содержит не более 40 целых чисел. Создать новый массив, элементами...

Дан список, элементы которого являются целыми числами. Увеличить ненулевые элементы на 2
Дан список, элементы которого являются целыми числами. Увеличить ненулевые элементы на 2. Также...

Вывести вектор, элементы которого являются наибольшими числами каждой строки матрицы. Матрица в файле
Пожалуйста помогите решить задачу: Мне нужно вывести вектор, элементы которого являются...

4
Puporev
Модератор
57191 / 43650 / 30165
Регистрация: 18.05.2008
Сообщений: 104,063
27.11.2009, 10:44 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
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
uses crt;
function Prost(n:integer):boolean;
var i:integer;
begin
Prost:=true;
for i:=2 to round(sqrt(n)) do
if n mod i=0 then
 begin
  Prost:=false;
  break;
 end;
end;
var f,g:file of integer;
    a:array[1..100] of integer;
    n,i,b,imn,mn,k:integer;
begin
clrscr;
randomize;
assign(f,'fail_f');
rewrite(f);
assign(g,'fail_g');
rewrite(g);
write('Сколько чисел ввести в файл? n=');
readln(n);
for i:=1 to n do
 begin
  b:=random(20)+1;
  write(f,b);
 end;
reset(f);
k:=0;
mn:=maxint;
for i:=0 to filesize(f)-1 do
 begin
  seek(f,i);
  read(f,b);
  if b<mn then
   begin
    mn:=b;
    imn:=i;
   end;
 end;
close(f);
reset(f);
n:=0;k:=0;
for i:=0 to imn-1 do
 begin
  seek(f,i);
  read(f,b);
  if Prost(b) then
   begin
    n:=n+1;
    a[n]:=b;
    write(g,a[n]);
    k:=1;
   end;
 end;
close(f);
writeln('Содержание файла F:');
reset(f);
while not eof(f) do
 begin
  read(f,b);
  write(b,' ');
 end;
close(f);
writeln;
writeln('Минимум=',mn,' индекс=',imn);
if k=0 then writeln('Простых чисел до минимального нет!')
else
 begin
  writeln;
  writeln('Массив А:');
  for i:=1 to n do
  write(a[i],' ');
  writeln;
  writeln;
  writeln('Содержание файла G:');
  reset(g);
  while not eof(g) do
   begin
    read(g,b);
    write(b,' ');
   end;
  close(g);
 end;
readln
end.
1
Dark_oz
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
28.11.2009, 12:17  [ТС] 3
спасибо) я потом немного другое решение ещё нашёл)
0
Puporev
Модератор
57191 / 43650 / 30165
Регистрация: 18.05.2008
Сообщений: 104,063
28.11.2009, 12:23 4
Dark_oz, Да можно любую задачу кучей способов решить, но это нужно делать самому, чтоб это Ваш способ был, а не списывать.

Добавлено через 3 минуты
И вообще, если например Вам одолжили денег, а Вы говорите, спасибо конечно, но больно уж у вас купюры мелкие, то как думаете, в следующий раз Вам одолжат? Я нет.
0
Dark_oz
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
29.11.2009, 19:22  [ТС] 5
да я не о том)))
0
29.11.2009, 19:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2009, 19:22

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

Найти количество столбцов, в которых все элементы являются простыми числами
Составить программу согласно следующему условию: дана целочисленная матрица А, где M и N заданные...

Создать новый массив, элементами которого являются все отрицательные элементы массива C
Дан массив С(п). Создать новый массив, элементами которого являются все отрицательные элементы...


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

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

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