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

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

28.01.2021, 11:49. Показов 1647. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать текстовый файл, в который построчно записать прямоугольный массив massivnm, заполненный целыми случайными числами в диапазоне от v_min до v_max. Размеры массива n и m задать с консоли (константами). Границы диапазона v_min и v_max задать с консоли. Определить второй максимальный и второй минимальный элементы в файле, вывести на экран их значения и координаты. При чтении из файла считать размеры таблицы неизвестными. Определить их при чтении файла.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2021, 11:49
Ответы с готовыми решениями:

Создать текстовый файл, в который построчно записать прямоугольный массив
Создать текстовый файл, в который построчно записать прямоугольный массив mas-sivnm, заполненный...

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

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

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

3
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
28.01.2021, 13:18 2
Цитата Сообщение от bidandoto Посмотреть сообщение
Определить второй максимальный и второй минимальный элементы в файле, вывести на экран их значения и координаты.
это как? пример пожалуйста.
0
1178 / 429 / 194
Регистрация: 23.03.2020
Сообщений: 1,016
Записей в блоге: 1
28.01.2021, 13:41 3
Кликните здесь для просмотра всего текста
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
var m,n,vmin,vmax,i,j,d, 
  d1max, d1maxi, d1maxj, d2max, d2maxi, d2maxj: integer;
  d1min, d1mini, d1minj, d2min, d2mini, d2minj: integer;
  f: text;
begin
 write('n='); readln(n);
 write('m='); readln(m);
 write('v_min='); readln(vmin);
 write('v_max='); readln(vmax);
 assign(f, 'input.txt');
 rewrite(f); 
 for i := 1 to n do
  begin for j := 1 to m do write(f, (vmin+ Random(vmax-vmin+1)):5); writeln(f) end;
 close(f);
 reset(f);
 i := 0; j := 1; d1mini := 1; d1minj := 1; d2maxi := 1; d2maxj := 1;
 while not eof(f) do
   begin
    i := i+1; j := 0;
    while not eoln(f) do 
     begin 
       j := j+1;
       read(f, d);
       write(d:5);
       if (i=1) and (j=1) then 
         begin d1min := d; d1max := d; d2min := d; d2max := d end
       else 
         if d > d2max then begin
           if d > d1max then begin
             d2max := d1max; d2maxi := d1maxi; d2maxj := d1maxj;
             d1max := d; d1maxi := i; d1maxj := j end
           else begin d2max := d; d2maxi := i; d2maxj := j end end
         else if d < d2min then begin
           if d < d1min then begin
             d2min := d1min; d2mini := d1mini; d2minj := d1minj;
             d1min := d; d1mini := i; d1minj := j end
           else begin d2min := d; d2mini := i; d2minj := j end end
      end;
    readln(f);
    writeln;
   end;
 close(f);
 writeln('второй max (',d2maxi,',',d2maxj,') = ',d2max);
 writeln('второй min (',d2mini,',',d2minj,') = ',d2min);
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.01.2021, 14:14 4
Лучший ответ Сообщение было отмечено bidandoto как решение

Решение

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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
var f:text;
    a:array[1..20,1..20] of integer;
    m,n,v,v_min,v_max,i,j,imx1,jmx1,imn1,jmn1,imn2,jmn2,imx2,jmx2:integer;
begin
assign(f,'matrix.txt');
rewrite(f);
randomize;
//зададим случайные размеры матрицы от 2 до 20, чтобы не знать ее рaзмер при чтении из файла
m:=2+random(19);
n:=2+random(19);
repeat
write('Введите минимальное значение элементов массива от 0 до 10 v_min=');
readln(v_min);
until v_min in [0..10];
repeat
write('Введите максимальное значение элементов массива от 50 до 100 v_max=');
readln(v_max);
until v_max in [50..100];
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    v:=v_min+random(v_max-v_min+1);
    write(f,v:4);
   end;
  writeln(f);
 end;
close(f);
//определим количество столбцов в матрицe
reset(f);
n:=0;
while not seekeoln(f) do
 begin
  read(f,v);
  inc(n);
 end;
//прочитаем и выведем матрицу
reset(f);
i:=1;
j:=0;
while not seekeof(f) do
 begin
  inc(j);
  read(f,a[i,j]);
  write(a[i,j]:3);
  if j=n then
   begin
    j:=0;
    inc(i);
    writeln;
   end;
 end;
close(f);
m:=i-1;//количество строк
//найдем минимальный и максиалный и их индексыъ
imn1:=1;
imx1:=1;
imn2:=1;
imx2:=1;
if a[1,1]<a[1,2] then
 begin
  jmn1:=1;
  jmn2:=2;
  jmx1:=2;
  jmx2:=1;
 end
else
 begin
  jmn1:=2;
  jmn2:=1;
  jmx1:=1;
  jmx2:=2;
 end;
for i:=1 to m do
for j:=1 to n do
begin
if a[i,j]<a[imn1,jmn1] then
 begin
  imn2:=imn1;
  jmn2:=jmn1;
  imn1:=i;
  jmn1:=j;
 end
else if a[i,j]<a[imn2,jmn2]then
 begin
  imn2:=i;
  jmn2:=j;
 end
else  if a[i,j]>a[imx1,jmx1] then
 begin
  imx2:=imx1;
  jmx2:=jmx1;
  imx1:=i;
  jmx1:=j;
 end
else if a[i,j]>a[imx2,jmx2]then
 begin
  imx2:=i;
  jmx2:=j;
 end;
end;
writeln('Второй максимальный элемент a[',imx2,',',jmx2,']=',a[imx2,jmx2]);
writeln('Второй минимальный  элемент a[',imn2,',',jmn2,']=',a[imn2,jmn2]);
end.
0
28.01.2021, 14:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2021, 14:14
Помогаю со студенческими работами здесь

В текстровый файл построчно записать массив с целыми случайными числами в заданном диапазоне
Создать текстовый файл, в который построчно записать прямоугольный массив mas-sivnm, заполненный...

Создать текстовый файл, в который построчно записать квадратный массив
Размеры создаваемых файлов считать заранее неизвестными и определять их при чтении файлов. При...

Создать текстовый файл, в который построчно записать квадратный массив
Создать текстовый файл, в который построчно записать квадратный массив massivnn, заполненный целыми...

Задан массив A(N,N), заполненный целыми случайными числами из диапазона [-24;28]
Задан массив A(N,N), заполненный целыми случайными числами из диапазона . Найти минимальный...

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

Создать массив из 15 элементов, заполненный случайными числами
Нужно переделать программу отдельными методами для ввода массива и т. д. Пытался сделать сам, но...


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

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