Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.12.2008
Сообщений: 7
1

В матрице найти наименьшие элементы в каждом столбце и поместить их на главную диагональ

19.12.2008, 01:25. Просмотров 2196. Ответов 6
Метки нет (Все метки)

Здравствуйте.
Если это возможно,хотелось бы попросить помощи в рещении нескольких задач.
Впринципе все не сложные.
Просто не успеваю,да и не оч хорошо поняла тему.

Вот к примеру:

1)даны массивы a(10),b(11),c(12) вещестивенных чисел.Обнулить и распечатать тот массив чьё произведение положительных элементов минимально.Распечатать произведение для каждого массива

2)в матрице z(15,15) найти наименьшие элементы в каждом столбце и поместить их на главную диагональ.преобразованную матрицу отпечатать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2008, 01:25
Ответы с готовыми решениями:

Найти наименьшие элементы каждой строки квадратной матрицы и поместить их на главную диагональ
где ошибка ? нужно найти малейшие элементы каждой строки квадратной матрицы и поместить их на...

Найти наименьшие элементы в каждом столбце массива и поместить их в последнюю строку.
ЗАВТРО ЭКЗАМЕН((((( паскаль.... Дана матрица L (4,4). Заменить элементы главной диагонали ...

Найти наименьшие элементы в каждом столбце массива и поместить их в последнюю строку
Дан массив С (10х10). Найти наименьшие элементы в каждом столбце массива и поместить их в последнюю...

Найти максимальные элементы каждой строки и поместить их на главную диагональ, а диагональные элементы поместить на место максимальных
Найти максимальные элементы каждой строки исходной матрицы А(N,N) (N<=10) и поместить их на главную...

6
Модератор
62236 / 46526 / 32075
Регистрация: 18.05.2008
Сообщений: 112,468
19.12.2008, 09:42 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1.
uses crt;
var a:array[1..10] of integer; //матрицы
    b:array[1..11] of integer;
    c:array[1..12] of integer;
    i:integer; pa,pb,pc:longint;//счетчик и произведения
begin
clrscr;
randomize;
writeln('Massiv A:');
pa:=1;
for i:=1 to 10 do
   begin
     a[i]:=random(5)-1;//присваиваем случайные значения в инт. -1,3
     if a[i]>0 then pa:=pa*a[i];//считаем произведение
     write(a[i],' '); //выводим на экран
   end;
writeln;
writeln('Proizvedenie=',pa);//выводим произведение
writeln('Massiv B:');
pb:=1;
for i:=1 to 11 do
   begin
     b[i]:=random(5)-1;
     if b[i]>0 then pb:=pb*b[i];
     write(b[i],' ');
   end;
writeln;
writeln('Proizvedenie=',pb);
writeln('Massiv C:');
pc:=1;
for i:=1 to 11 do
   begin
     c[i]:=random(5)-1;
     if c[i]>0 then pc:=pc*c[i];
     write(c[i],' ');
   end;
writeln;
writeln('Proizvedenie=',pc);
if(pa<pb)and(pa<pc)then//ищем минимальное произведение
   begin
     writeln('Massiv A:');
     for i:=1 to 10 do
       begin
        a[i]:=0; //если минимальное, обнуляем
        write(a[i],' ');//выводим на экран
      end;
    end;
if(pb<pa)and(pb<pc)then  
    begin
     writeln('Massiv B:');
     for i:=1 to 11 do
       begin
        b[i]:=0;
        write(b[i],' ');
       end;
    end;
if(pc<pa)and(pc<pb)then
    begin
     writeln('Massiv C:');
     for i:=1 to 12 do
       begin
        c[i]:=0;
        write(c[i],' ');
       end;
    end;
readln
end.2.
uses crt;
const n=15;  /размер матрицы
var z:array[1..n,1..n]of integer;//матрица
    i,j,min,imin,x:integer;//разные переменные
begin
clrscr;
randomize;
writeln('Matrica Z:');
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        z[i,j]:=random(10)+1;//заполняем матрицу случайными числами в инт 1,10
        write(z[i,j]:3); //выводим на экран по строкам
      end;
    writeln;//новая строка
  end;
readln;//читаем
for j:=1 to n do  //идем по столбцам
   begin
     min:=z[1,j];imin:=1;//за мин принимаем первый элемент столбца(верхний)
     for i:=1 to n do //идем вниз по столбцу
     if z[i,j]<min then //каждый раз когда находим число меньше предыдущих
        begin
          min:=z[i,j];//оно мин
          imin:=i;//запоминаем номер строки
        end;
     x:=z[imin,j]; //запоминаем этот элемент
     z[imin,j]:=z[j,j]; //на его место ставим элемент с главной диагонали
     z[j,j]:=x ;//на главную диагональ минимальный элемент
   end;
writeln('Izmenennaja matrica Z:');//выводим
for i:=1 to n do
   begin
     for j:=1 to n do
     write(z[i,j]:3);
     writeln;
   end;
readln
end.
0
0 / 0 / 0
Регистрация: 19.12.2008
Сообщений: 7
21.12.2008, 17:31  [ТС] 3
СпасибО ОгромноЕ!
Вы Мне Очень ПомоглИ)

Добавлено через 19 часов 31 минуту 57 секунд
Умм...

Есть проблема ещё одной задачкой.

Дан массив Y(12).Разделить каждый третий элемент на разность между максимальным и минимальным его элементами.

ЗЫ:Если кто может решить,могу кинуть свои наработки,может быть поможет.
0
Модератор
62236 / 46526 / 32075
Регистрация: 18.05.2008
Сообщений: 112,468
21.12.2008, 17:43 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
const n=12;
var y:array[1..n] of real;
    min,max:real;
    i:integer;
begin
clrscr;
randomize;
writeln('Ishodnyj massiv:');
for i:=1 to n do
  begin
    y[i]:=10*random;
    write(y[i]:5:2);
  end;
writeln;
max:=y[1];min:=y[1];
for i:=1 to n do
  begin
    if y[i]>max then max:=y[i];
    if y[i]<min then min:=y[i];
  end;
writeln('max=',max:0:2,'   min=',min:0:2,'  max-min=',(max-min):0:2);
writeln('Rezultat:');
for i:=1 to n do
   begin
     if i mod 3=0 then y[i]:=y[i]/(max-min);
     write(y[i]:5:2);
   end;
readln
end.
0
0 / 0 / 0
Регистрация: 19.12.2008
Сообщений: 7
21.12.2008, 17:46  [ТС] 5
СпасибО ОгромноЕ!
Я нашла ошибку в своей версии))
0
0 / 0 / 0
Регистрация: 19.12.2008
Сообщений: 7
24.12.2008, 23:34  [ТС] 6
Помогите плиз)
Ещё одна задачка)
Всё таже тема)

Даны два массива: А(10) целых и В(15) вещественных чисел. Отсортировать по убыванию и распечатать тот массив, в котором сумма положительных элементов равна модулю суммы отрицательных элементов. Распечатать полученные суммы.
0
Модератор
62236 / 46526 / 32075
Регистрация: 18.05.2008
Сообщений: 112,468
25.12.2008, 08:49 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
52
uses crt;
var a:array[1..10]of integer;//целый массив
    b:array[1..15] of real;//вещественный
    sp,sm,x:real; //сумму считаем как реал, для целых выводим без десятых
    i,j,z:integer;
begin
clrscr;
writeln('Vvedite 10 celyh chisel - massiv A:');
for i:=1 to 10 do
read(a[i]);
readln;
sp:=0;sm:=0;
for i:=1 to 10 do
if a[i]>0 then sp:=sp+a[i]//сумма положительных
else if a[i]<0 then sm:=sm+abs(a[i]);  //сумма отрицательных
writeln('Massiv A: summa polozitelnyh=',sp:0:0,'  modulej otricatelnyh=',sm:0:0);
if sp=sm then //если равны сортировка, если нет, то т олько сумму выведет
    begin
      for i:=1 to 9 do
      for j:=i+1 to 10 do
      if a[i]<a[j] then
         begin
           z:=a[i]; a[i]:=a[j]; a[j]:=z;//обменная сортировка пузырьком
          end;
      writeln('Otsortirovannyj massiv A:');
      for i:=1 to 10 do
      write(a[i],' ');
    end;
writeln;
writeln('Vvedite 15 veshestvennyh chisel - massiv B:');//все тоже самое
for i:=1 to 15 do
read(b[i]);
readln;
sp:=0;sm:=0;
for i:=1 to 10 do
if b[i]>0 then sp:=sp+b[i]
else if b[i]<0 then sm:=sm+abs(b[i]);
writeln('Massiv B: summa polozitelnyh=',sp:0:2,'  modulej otricatelnyh=',sm:0:2);
if sp=sm then
    begin
      for i:=1 to 14 do
      for j:=i+1 to 15 do
      if b[i]<b[j] then
         begin
           x:=b[i]; b[i]:=b[j]; b[j]:=x;
          end;
      writeln('Otsortirovannyj massiv B:');
      for i:=1 to 15 do
      write(b[i]:5:1);
    end;
readln
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2008, 08:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти максимумы в каждом столбце матрицы и переместить их на главную диагональ
Дана квадратная матрица. Найти максимумы в каждом столбце и переместить их на главную диагональ

Найти наибольшие элементы каждой строки матрицы и поместить их на главную диагональ
Найти наибольшие элементы каждой строки матрицы Z(16,16) и поместить их на главную диагональ....

На главную диагональ матрицы поместить наибольшие элементы
На главную диагональ матрицы А(К,К), К &lt;= 100 поместить наибольшие элементы этой матрицы (сначала...

Минимальные элементы строк матрицы поместить на главную диагональ
Доброго времени суток товарищи. Помогите решить программку: Найти минимальные элементы каждой...

найти минимальный элемент и поместить его на главную диагональ
В каждой стороке матрицы А(n,n) найти минимальный элемент и поместить его на главную диагональ (т.е...

Найти сумму максимума и минимума в каждой матрице. В той матрице, где сумма больше, обнулить главную и побочную диагональ
Очень не укладываюсь в срок помогите подготовить программу: Даны две квадратные матрицы A и B....


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

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

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