2 / 2 / 1
Регистрация: 10.10.2010
Сообщений: 16
1

Удалить из массива все столбцы, в которых сумма элементов равна 0

25.11.2010, 13:16. Показов 1554. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Имеется массив NxM, заполненный 0 и 1. Необходимо написать процедуру, которая удалит из массива все столбцы, в которых сумма элементов равна 0. Если таких столбцов нет, вывести соответствующую надпись.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2010, 13:16
Ответы с готовыми решениями:

Массив. Удалить из массива те столбцы, сумма элементов которых равна нулю
Здравствуйте! Помогите решить задачу. Заранее спасибо! Дан массив 7 х 9. Удалить из массива те...

Дан массив 7 на 9. Удалить из массива те столбцы, сумма элементов которых равна нулю
Здравствуйте! Помогите решить задачу. Заранее спасибо! Дан массив 7 х 9. Удалить из массива те...

Удалить все столбцы, сумма элементов которых равна X
Удалить все столбцы, сумма элементов которых равна X. помогите написать программу

Удалить строки, содержащие более одного максимального элемента, а затем столбцы, сумма элементов которых равна заданному числу
Удалите строки, содержащие более одного максимального элемента, а затем столбцы, сумма элементов...

6
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,335
25.11.2010, 15:35 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure kill(mass:mas);
var i,j,a:integer;
begin
a:=0;
for i:= 1 to m do
begin
for j:= 1 to n do
begin
a:=mass[j,i]+a;
if a<>0 then writeln(mass[i,j]);
end;
writeln;
end;
end;
что-то подобное
1
2 / 2 / 1
Регистрация: 10.10.2010
Сообщений: 16
25.11.2010, 18:32  [ТС] 3
Нее, не работает... но все равно спасибо.

У кого то еще варианты будут?
0
nonamez123
25.11.2010, 19:07
  #4

Не по теме:

мне надо было срочно уййти, только пришел. Может конечно кто-нить из-за апа и поможет, если нет, то чуть позже доделаю

0
2 / 2 / 1
Регистрация: 10.10.2010
Сообщений: 16
25.11.2010, 23:17  [ТС] 5
Господа, реально нужна помощь... Вот что получилось у меня (пока не в процедуре пишу):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
k:=M;
  for j:=1 to M do
    Begin
      sum:=0;
      for i:=1 to N do
        sum:=sum+a[i,j];
      if sum=0 then
        Begin
        st:=j;
        for i:=1 to N do
          for j:=st to M do
            Begin
              a[i,j]:=a[i,j+1];
              dec(k);
            end;
        end;
    end;
   for i:=1 to N do
     Begin
       for j:=1 to k do
         Write(a[i,j]:2);
       Writeln;
     end;
работает только если в матрице 1 столбец, в котором сумма равна нулю. Если таких столбцов больше 1, то считает не правильно.
0
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,335
27.11.2010, 13:58 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

В от я всётаки сделал
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 test;
const n=5;
const m=5;
 
type mass=array [1..n,1..m] of integer;
 
   var
      i,j : integer;
      mas:mass;
      
procedure del(a:mass);
        var i,j,sum,l:integer;
              summ:array [1..m] of integer;
        begin
         l:=0;
         for j:= 1 to m do
           begin
             sum:=0;
             for i:= 1 to n do
               sum:=sum+a[i,j];
             summ[j]:=sum;
           end;
           for i:=1 to n do
            begin
              for j:=1 to m do
                begin
                  if summ[j]<>0 then
                    write(a[i,j]);
                end;
              writeln;
            end;
         end;
 
begin
for i:= 1 to n do
begin
for j:= 1 to m do
if i mod 2 = 0 then mas[j,i]:=1
else mas[j,i]:=0;
end;
 
for i:= 1 to n do
begin
for j:= 1 to m do
write(mas[i,j]);
writeln;
end;
writeln(mas[1,1]);
writeln(mas[2,1]);
writeln(mas[3,1]);
 
 
 
writeln;
del(mas);
readln
end.
за правельно оформленную процедуру спасибо https://www.cyberforum.ru/pascal/thread198355.html
1
2 / 2 / 1
Регистрация: 10.10.2010
Сообщений: 16
29.11.2010, 00:05  [ТС] 7
Большое спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2010, 00:05
Помогаю со студенческими работами здесь

Удалить все столбцы матрицы, у которых сумма элементов по строкам минимальна
Дана квадратная матрица целых чисел размером N*N ( N констан-та), заданная случайным образом,...

Удалить все столбцы матрицы, у которых сумма элементов по строкам минимальна
Дана квадратная матрица целых чисел размером N*N (N – вводим с клавиатуры). Удалить все столбцы...

Удалить все столбцы двумерного массива, в которых нет нулевых элементов
Удалить все столбцы двумерного массива которых нет нулевых элементов...

Найти все тройки элементов массива, сумма которых равна К и подсчитать число таких троек
Дан массив, состоящий из 20 элементов. Найти все тройки элементов массива, сумма которых равна К и...


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

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

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