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

Найти сумму элементов в тех столбцах,которые содержат хотябы один отрицательный элемент

24.12.2009, 19:39. Показов 2161. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно вот эту задачу решить,тут я вообще чайник полный

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

б) Найти сумму элементов в тех столбцах,которые содержат хотябы один отрицательный элемент(оформить в виде функции)

Добавлено через 14 минут
Помогите пожалуйста,завтра уже нада сдать,век не забуду....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2009, 19:39
Ответы с готовыми решениями:

Найти сумму элементов в тех столбцах,которые содержат хотябы один отрицательный элемент
Нужно вот эту задачу решить,тут я вообще чайник полный а) Характеристикой столба целочисленной матрицы назовем сумму модулей его...

Найти сумму элементов в тех столбцах,которые содержат хоть один отрицательный элемент
Найти сумму элементов в тех столбцах,которые содержат хоть один отрицательный элемент;произведение между главной и побочной диагональю

Найти сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент
2. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент (оформить в виде функции). Помогите...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.12.2009, 19:44
Протектор, он и в Африке протектор. Я же решил тебе эти задачи, что тебе еще нужно?
1
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
24.12.2009, 19:49  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Протектор, он и в Африке протектор. Я же решил тебе эти задачи, что тебе еще нужно?
вы решили,и я вам очень благодарен,но там где нужна процедура,там функция и наоборот соотвецтвенно

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
uses crt;
const nmax=20;
type  matr=array[1..nmax,1..nmax] of integer;
procedure Vvod(var mt:matr;var x,y:byte);
var i,j:byte;
begin
repeat
write('kolichestvo strok=');readln(x);
until x in [1..nmax];
repeat
write('kolichestvo stolbcov=');readln(y);
until y in [1..nmax];
writeln('vvedite ',x*y,' celih chesel - elementov matrici');
for i:=1 to x do
for j:=1 to y do
read(mt[i,j]);
readln;
clrscr;
end;
procedure Harak(var mt:matr;x,y:byte);
{s4itаem summu modulei otricаtelnix ne4etnix v stolbce}
var i,j:byte;
    sm:integer;
begin
for j:=1 to y do
 begin
  sm:=0;
  for i:=1 to x do
  if (mt[i,j]<0)and(mt[i,j] mod 2<>0) then sm:=sm+abs(mt[i,j]);
  mt[x+1,j]:=sm;{ i zаpisivаem v dopolnitelnuiu stroku}
 end;
end;
procedure Vyvod(var mt:matr;x,y:byte);{vivod matici}
var i,j:byte;
begin
for i:=1 to x do
 begin
  write(' ':5);{5 probelov v nachale stroki}
  for j:=1 to y do
  write(mt[i,j]:5);{elementi stroki}
  writeln;
 end;
writeln;
write('summa');{dopolnitelnaya stroka s summami}
for j:=1 to y do
write(mt[x+1,j]:5);
writeln;
writeln;
end;
 
procedure Sort(var mt:matr;x,y:byte);
{ perestаnovkа stolbcov po vozrаstаniiu summi}
var i,j,k:byte;
    buf:integer;{ bufer dlia obmenа v stroke summ}
begin
for i:=1 to y-1 do{po stroke}
for j:=i+1 to y do
if mt[x+1,i]>mt[x+1,j] then
for k:=1 to x+1 do
 begin
  buf:=mt[k,i];
  mt[k,i]:=mt[k,j];
  mt[k,j]:=buf;
 end;
end;
function Summ(mt:matr;x,y:byte):integer;
var i,j,k,p:byte;
    s,sm:integer;
begin
sm:=0;
for j:=1 to y do
 begin
  k:=0;
  for i:=1 to x do
  if mt[i,j]<0 then
   begin
    k:=1;
    break;
   end;
  if k=1 then
   begin
    s:=0;
    for p:=1 to x do
    s:=s+mt[p,j];
    writeln('V stolbce ',j,' summa=',s);
   end;
  sm:=sm+s;
 end;
Summ:=sm;
end;
var a:matr;
    n,m:byte;
    s:integer;
begin
clrscr;
Vvod(a,n,m);
Harak(a,n,m);
writeln('ishodnaya matrica:');
Vyvod(a,n,m);
writeln;
Sort(a,n,m);
writeln('perestanovka stolbcov:');
Vyvod(a,n,m);
writeln;
s:=Summ(a,n,m);
write('Obshaia summa elementov v stolbcah s otricatelnimi elementami=',s);
readln
end.
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
uses
  crt;
const
  str=4;{количество строк}
  col=4;{количество столбцов}
type
  MyArr=array[1..str,1..col]of integer;
{функция подсчета суммы}
function FSumm(a:MyArr):integer;
var
  i,j,s,summ:integer;
  fl:boolean;
begin
  summ:=0;
  for j:=1 to col do
  begin
    s:=0;
    fl:=false;
    for i:=1 to str do
    begin
      if a[i,j]<0 then
        fl:=true;
      inc(s,a[i,j])
    end;
    if fl then
      inc(summ,s)
  end;
  FSumm:=summ
end;
var
  a:MyArr;
  b:array[1..col]of integer;
  i,j,k,temp,s:integer;
{основная программа}
begin
  clrscr;
  {заполняем и выыводим матрицу}
  writeln('Исходная матрица:');
  for i:=1 to str do
  begin
    for j:=1 to col do
    begin
      a[i,j]:=random(8)-4;
      write(a[i,j]:2,' ')
    end;
    writeln
  end;
  {находим характеристику каждого столбца}
  for j:=1 to col do
  begin
    s:=0;
    for i:=1 to str do
      if (a[i,j]<0) and odd(a[i,j]) then
        inc(s,abs(a[i,j]));
    b[j]:=s
  end;
  {сортируем cтолбцы по характеристике}
  for j:=1 to col-1 do
    for i:=j+1 to col do
      if b[i]<b[j] then
      begin
        for k:=1 to str do
        begin
          temp:=a[k,i];
          a[k,i]:=a[k,j];
          a[k,j]:=temp
        end;
        temp:=b[i];
        b[i]:=b[j];
        b[j]:=temp
      end;
  {выводим матрицу}
  writeln('Полученная матрица:');
  for i:=1 to str do
  begin
    for j:=1 to col do
      write(a[i,j]:2,' ');
    writeln
  end;
  writeln('Характеристики: ');
  for i:=1 to col do
    write(b[i]:2,' ');
  writeln;
  writeln('Сумма: ',FSumm(a))
end.
Добавлено через 2 минуты
так стоп,или ваша программа сразу оба действия выпалняет ????
чота помоему я тупица
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.12.2009, 20:39
Pascal
1
procedure Harak(var mt:matr;x,y:byte);
Для чего здесь процедура. Для того чтоб вычислять характеристику, что можно оформить функцией, и сразу зависит это значение в матрицу, а это может только процедура. Поэтому вместо функции+процедуры я все объединил в одну процедуру. Можно сделать и функцией, но тогда нужно будет собирать характеристики в одномерный массив, который сортировать совместно с матрицей. Это неудобно и для сортировки и для вывода на экран.
Если все же нужно переделать, то Вы четко напишите для каждой программы, какое действие выполнять функцией, какое процедурой, ибо в программах не по одной процедуре. Я завтра сделаю. Сегодня у меня уже поздно, мозги не варят.
1
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
25.12.2009, 05:02  [ТС]
спасибо большое что обьяснили,но понимаете,задане есть задание,тут уж нечего не поделать....
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
25.12.2009, 07:49
Ptrotect0r, Я так понял что это одна задача.
Процедура Sort выполняет первое задание, а функция Summ, второе. Если это 2 разные задачи, то их нужно просто разделить.
1.
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
uses crt;
const nmax=20;
type  matr=array[1..nmax,1..nmax] of integer;
procedure Vvod(var mt:matr;var x,y:byte);
var i,j:byte;
begin
repeat
write('kolichestvo strok=');readln(x);
until x in [1..nmax];
repeat
write('kolichestvo stolbcov=');readln(y);
until y in [1..nmax];
writeln('vvedite ',x*y,' celih chesel - elementov matrici');
for i:=1 to x do
for j:=1 to y do
read(mt[i,j]);
readln;
clrscr;
end;
procedure Harak(var mt:matr;x,y:byte);
{s4it*em summu modulei otric*telnix ne4etnix v stolbce}
var i,j:byte;
    sm:integer;
begin
for j:=1 to y do
 begin
  sm:=0;
  for i:=1 to x do
  if (mt[i,j]<0)and(mt[i,j] mod 2<>0) then sm:=sm+abs(mt[i,j]);
  mt[x+1,j]:=sm;{ i z*pisiv*em v dopolnitelnuiu stroku}
 end;
end;
procedure Vyvod(var mt:matr;x,y:byte);{vivod matici}
var i,j:byte;
begin
for i:=1 to x do
 begin
  write(' ':5);{5 probelov v nachale stroki}
  for j:=1 to y do
  write(mt[i,j]:5);{elementi stroki}
  writeln;
 end;
writeln;
write('summa');{dopolnitelnaya stroka s summami}
for j:=1 to y do
write(mt[x+1,j]:5);
writeln;
writeln;
end;
 
procedure Sort(var mt:matr;x,y:byte);
{ perest*novk* stolbcov po vozr*st*niiu summi}
var i,j,k:byte;
    buf:integer;{ bufer dlia obmen* v stroke summ}
begin
for i:=1 to y-1 do{po stroke}
for j:=i+1 to y do
if mt[x+1,i]>mt[x+1,j] then
for k:=1 to x+1 do
 begin
  buf:=mt[k,i];
  mt[k,i]:=mt[k,j];
  mt[k,j]:=buf;
 end;
end;
var a:matr;
    n,m:byte;
    s:integer;
begin
clrscr;
Vvod(a,n,m);
Harak(a,n,m);
writeln('ishodnaya matrica:');
Vyvod(a,n,m);
writeln;
Sort(a,n,m);
writeln('perestanovka stolbcov:');
Vyvod(a,n,m);
readln
end.
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
uses crt;
const nmax=20;
type  matr=array[1..nmax,1..nmax] of integer;
procedure Vvod(var mt:matr;var x,y:byte);
var i,j:byte;
begin
repeat
write('kolichestvo strok=');readln(x);
until x in [1..nmax];
repeat
write('kolichestvo stolbcov=');readln(y);
until y in [1..nmax];
writeln('vvedite ',x*y,' celih chesel - elementov matrici');
for i:=1 to x do
for j:=1 to y do
read(mt[i,j]);
readln;
clrscr;
writeln('Matrica:');
for i:=1 to x do
 begin
  for j:=1 to y do
  write(mt[i,j]:5);
  writeln;
 end;
writeln;
end;
 
function Summ(mt:matr;x,y:byte):integer;
var i,j,k,p:byte;
    s,sm:integer;
begin
sm:=0;
for j:=1 to y do
 begin
  k:=0;
  for i:=1 to x do
  if mt[i,j]<0 then
   begin
    k:=1;
    break;
   end;
  if k=1 then
   begin
    s:=0;
    for p:=1 to x do
    s:=s+mt[p,j];
    writeln('V stolbce ',j,' summa=',s);
   end;
  sm:=sm+s;
 end;
Summ:=sm;
end;
var a:matr;
    n,m:byte;
    s:integer;
begin
clrscr;
Vvod(a,n,m);
s:=Summ(a,n,m);
write('Obshaia summa elementov v stolbcah s otricatelnimi elementami=',s);
readln
end.
Горе когда человек ничего не понимает.
1
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
25.12.2009, 10:34  [ТС]
действительно горе
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2009, 10:34
Помогаю со студенческими работами здесь

Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
1) Для заданно матрицы размером 8 на 8 найти такие к, что к-я строка матрицы совпадает с к-м столбцом. 2) Найти сумму элементов в тех...

Сумму элементов матрицы в тех строках, которые содержат хотя бы один отрицательный элемент
Помогите пожалуйста решить задачку в Паскале. Напишите плиз прогу. Буду очень благодарен! Дана целочисленная прямоугольная матрица....

Определить сумму элементов в тех строках. которые содержат хотя бы один отрицательный элемент
Дана матрица ( 3 строки и 4 столбца) Определить сумму элементов в тех строках. которые содержат хотя бы один отрицательный элемент. В чем...

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

Определить сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент.
привет всем)))помогите пожалуйста решить три программы 1)Описать процедуру AddRightDigit (D,K), добавляющая к целому положительному...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru