Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
1

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

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

Author24 — интернет-сервис помощи студентам
задача:
Взяв за основу файл целых чисел, создать массив, элементы которого являются простыми числами и расположены до минимального элемента. Записать массив в отдельный файл.
единственная идея это:
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2009, 20:21
Ответы с готовыми решениями:

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

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

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

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

4
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
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
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
28.11.2009, 12:17  [ТС] 3
спасибо) я потом немного другое решение ещё нашёл)
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.11.2009, 12:23 4
Dark_oz, Да можно любую задачу кучей способов решить, но это нужно делать самому, чтоб это Ваш способ был, а не списывать.

Добавлено через 3 минуты
И вообще, если например Вам одолжили денег, а Вы говорите, спасибо конечно, но больно уж у вас купюры мелкие, то как думаете, в следующий раз Вам одолжат? Я нет.
0
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 9
29.11.2009, 19:22  [ТС] 5
да я не о том)))
0
29.11.2009, 19:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2009, 19:22
Помогаю со студенческими работами здесь

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

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

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

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


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

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