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

Дан массив Заменить максимальный элемент каждой строки на противоположный.

21.03.2011, 12:31. Показов 2380. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан двумерный массив размерностью 6*7, заполненный случайными числами.Заменить максимальный элемент каждой строки на противоположный.

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
program fg1;
const n=6;
m=7;
dd=51;
type dmyarray=array[1..n,1..m] of integer;
var a:dmyarray;
k,max,maxi,maxj:integer;
Procedure init2 (var x:dmyarray);
Var i,j:integer;
Begin
for i:=1 to n do
for j:=1 to m do
x[i,j]:= random(dd)-25;
end;
procedure print1 (x:dmyarray);
Var i,j:integer;
begin 
for i:= 1 to n do
begin
for j:=1 to m do
write(x[i,j]:5);
writeln;
end;
end;
procedure maximum(x:dmyarray;var max,maxi,maxj:integer);
var i,j:integer;
Begin
max:=x[1,1];
maxi:=1;
maxj:=1;
for i:=1 to n do
for j:=1 to m d
if x[i,j] > max then 
begin
max:=x[i,j];
maxi:=i;
maxj:=j;
end;
{x[maxi,maxj]:=-x[maxi,maxj];}
end;
 
BEGIN
randomize;
init2(a);
print1(a);
maximum(a,a[1,1],1,1);
a[maxi,maxj]:=-a[maxi,maxj];
 
writeln('maxi =',maxi);
writeln('maxj =',maxj);
END.
исправьте.....или доделайте...пожалуйста...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2011, 12:31
Ответы с готовыми решениями:

Дан двумерный массив А(4,5). Заменить максимальный элемент каждой строки на противоположный
Дан двумерный массив А(4,5), заполненный с помощью ГСЧ. Заменить максимальный элемент каждой строки...

Заменить максимальный элемент каждой строки на противоположный
Помогите пожалуйста решить задачу в Pascal (массив). Дан двумерный массив размером...

Заменить максимальный элемент каждой строки на противоположный
Дан двумерный массив размером n*m, заполненный случайным образом. 1. Заменить максимальный элемент...

Заменить максимальный элемент каждой строки матрицы на противоположный
1)Заполнить массив размерностью 6х6 по правилу: 1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3...

12
109 / 109 / 91
Регистрация: 08.01.2011
Сообщений: 171
21.03.2011, 15:28 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
program fg1;
uses crt;
const
  n=6;
  m=7;
  dd=51;
type
  dmyarray=array[1..n,1..m] of integer;
var
  a:dmyarray;
  k,max,maxi,maxj:integer;
 
Procedure init2 (var x:dmyarray);
Var i,j:integer;
Begin
  for i:=1 to n do
    for j:=1 to m do
      x[i,j]:= random(dd)-25;
end;
 
procedure print1 (x:dmyarray);
Var i,j:integer;
begin 
  for i:= 1 to n do begin
    for j:=1 to m do
      write(x[i,j]:5);
    writeln;
  end;
end;
 
procedure maximum(x:dmyarray;var arr:dmyarray);
var i,j:integer;
Begin
  max:=arr[1,1];
  maxi:=1;
  maxj:=1;
  for i:=1 to n do begin
    for j:=1 to m do
      if arr[i,j] >= max then begin
        max:=arr[i,j];
        maxi:=i;
        maxj:=j;
      end;
    arr[maxi,maxj]:=-arr[maxi,maxj];
    max:=arr[i+1,1];
  end;
end;
 
BEGIN
  randomize;
  init2(a);
  print1(a);
  maximum(a,a);
  writeln;
  print1(a);
  readln;
END.
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 15:51  [ТС] 3
что то как то не работает((
0
109 / 109 / 91
Регистрация: 08.01.2011
Сообщений: 171
21.03.2011, 15:52 4
Что именно не работает?
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 15:53  [ТС] 5
ты через какой паскаль?
0
109 / 109 / 91
Регистрация: 08.01.2011
Сообщений: 171
21.03.2011, 15:54 6
Turbo Pascal for windows
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 15:56  [ТС] 7
у меня abc

Добавлено через 19 секунд
нужно сначала вывести массив, а потом с заменой..
0
109 / 109 / 91
Регистрация: 08.01.2011
Сообщений: 171
21.03.2011, 15:58 8
Попробуйте через TP все работает
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 16:00  [ТС] 9
хорошо))))спс)))
https://www.cyberforum.ru/pascal/thread261104.html
посмотри эту...плиз))
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
21.03.2011, 16:03 10
Попробуйте через TP все работает
да тут хоть пробуй хоть нет.Всё равно не верное решение.
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 16:03  [ТС] 11
max:=arr[i+1,1];
в этой строке показывает ошибку.
-24Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива.
Стек:
в fg1.dmyarray.get_val(Int32 param) в C:\PABCWork.NET\Program1.pas:строка 16777215
в fg1.fg1.maximum(dmyarray x, dmyarray& arr) в C:\PABCWork.NET\Program1.pas:строка 44
в fg1.fg1.$Main() в C:\PABCWork.NET\Program1.pas:строка 52
в Program1.Program.Main()
вот что пишет.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
21.03.2011, 16:11 12
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
Uses
 CRT;
Const
 n=6;
 m=7;
Type
  mas=array[1..n,1..m] of integer;
var
 a:mas;
 i,j:integer;
 
procedure zap(Var m:mas;k,l:integer);
Var
 jmax:integer;
begin
randomize;
 for i:= 1 to k do
 begin
 jmax:=1;
  for j:= 1 to l do
   begin
    m[i,j]:=random(10)-6;
    write(m[i,j]:3);
    if a[i,j]>a[i,jmax] then
     jmax:=j;
   end;
   a[i,jmax]:=-a[i,jmax];
  writeln;
 end;
end;
 
procedure print(Var m:mas;k,l:integer);
begin
 for i:= 1 to k do
 begin
  for j:= 1 to l do
    write(m[i,j]:3);
  writeln;
 end;
end;
 
Begin
 zap(a,n,m);
 writeln;
 print(a,n,m);
 Readln
End.
второй вариант 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
46
47
48
49
50
51
52
53
54
55
56
Uses
 CRT;
Const
 n=6;
 m=7;
Type
  mas=array[1..n,1..m] of integer;
var
 a:mas;
 i,j:integer;
 
procedure zap(Var m:mas;k,l:integer);
begin
randomize;
 for i:= 1 to k do
 begin
  for j:= 1 to l do
   begin
    m[i,j]:=random(10)-6;
    write(m[i,j]:3);
   end;
  writeln;
 end;
end;
 
procedure zamena(Var m:mas;k,l:integer);
Var
 jmax:integer;
begin
 for i:= 1 to k do
 begin
 jmax:=1;
  for j:= 1 to l do
    if a[i,j]>a[i,jmax] then
     jmax:=j;
   a[i,jmax]:=-a[i,jmax];
 end;
end;
 
procedure print(Var m:mas;k,l:integer);
begin
 for i:= 1 to k do
 begin
  for j:= 1 to l do
    write(m[i,j]:3);
  writeln;
 end;
end;
 
Begin
 zap(a,n,m);
 writeln;
 zamena(a,n,m);
 print(a,n,m);
 Readln
End.
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 43
21.03.2011, 16:15  [ТС] 13
у меня....ну реши ее...не исправляй ее...плиз...очень нужно...

Добавлено через 2 минуты
блин спасибо.....очень благодарна))))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2011, 16:15
Помогаю со студенческими работами здесь

Заменить максимальный элемент каждой строки матрицы на противоположный
Дан двумерный массив размерностью 5 х 6, заполненный случайным образом. - заменить...

Заменить максимальный элемент каждой строки матрицы на противоположный
Дан двумерный массив размером n*m, заполненный случайным образом. 1. Заменить максимальный...

Заменить максимальный элемент каждой строки матрицы нулем
Дан двумерный массив размером n*m, заполненный случайным образом. 1. Заменить максимальный...

Массивы. Заменить максимальный элемент на противоположный по знаку
Имеется массив А из N произвольных чисел (A(N)), среди которых есть положительные, отрицательные и...


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

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

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