С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/42: Рейтинг темы: голосов - 42, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19

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

03.05.2010, 03:01. Показов 8834. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовём сумму положительных элементов. Переставляя строки заданной матрицы, расположить их в соотвествии с ростом характеристик.
задача в паскале
помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2010, 03:01
Ответы с готовыми решениями:

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

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

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

12
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.05.2010, 09:14
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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    m,n,i,j,ks:byte;
    f:boolean;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=random(20)-9;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
ks:=0;{кол столб без 0}
for j:=1 to m do{смотрим все столбцы}
 begin
  f:=true;{пока нолей нет}
  i:=1;
  while f and(i<=n)do{пока не ноль и не конец столбца}
   begin
    if a[i,j]=0 then f:=false{если ноль меняем значение флага}
    else i:=i+1;{иначе идем вперед}
   end;
  if f then ks:=ks+1;{если нет 0, считаем}
 end;
writeln('Количество столбцов без нолей=',ks);
readln
end.
Добавлено через 4 минуты
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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of real;
    n,m,i,j,l:byte;
    sm,b:real;
begin
clrscr;
randomize;
write('Количество строк n=');
readln(n);
write('Количество столбцов m=');
readln(m);
{вычисление сумм в строках и запись их в дополнительный столбец}
for i:=1 to n do
 begin
  sm:=0;
  for j:=1 to m do
   begin
    a[i,j]:=10*random-4;
    if a[i,j]>0 then sm:=sm+a[i,j];
   end;
  a[i,m+1]:=sm;
 end;
writeln('Исходный массив:');
writeln('Сумма':(m*5+8));
for i:=1 to n do
 begin
  for j:=1 to m+1 do
  if j=m+1 then write(a[i,j]:8:1)
  else write(a[i,j]:5:1);
  writeln;
 end;
{перестановка строк по неубыванию сумм(по последнему столбцу)}
for i:=1 to n-1 do
for l:=i+1 to n do
if a[i,m+1]>a[l,m+1] then
for j:=1 to m+1 do
 begin
  b:=a[i,j];
  a[i,j]:=a[l,j];
  a[l,j]:=b;
 end;
writeln('Строки по неубыванию сумм:');
writeln('Сумма':(m*5+8));
for i:=1 to n do
 begin
  for j:=1 to m+1 do
  if j=m+1 then write(a[i,j]:8:1)
  else write(a[i,j]:5:1);
  writeln;
 end;
readln
end.
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
05.05.2010, 02:41  [ТС]
Спасибо, только я не знаю как объеденить эти 2 задачи!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
05.05.2010, 07:16
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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    m,n,i,j,ks,l:byte;
    sm,b:integer;
    f:boolean;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
{вычисление сумм в строках и запись их в дополнительный столбец}
for i:=1 to n do
 begin
  sm:=0;
  for j:=1 to m do
   begin
    a[i,j]:=random(10)-4;
    sm:=sm+a[i,j];
    a[i,m+1]:=sm;
   end;
 end;
writeln('Исходный массив:');
writeln('Сумма':(m*4+6));
for i:=1 to n do
 begin
  for j:=1 to m+1 do
  if j=m+1 then write(a[i,j]:6)
  else write(a[i,j]:4);
  writeln;
 end;
writeln;
ks:=0;{кол столб без 0}
for j:=1 to m do{смотрим все столбцы}
 begin
  f:=true;{пока нолей нет}
  i:=1;
  while f and(i<=n)do{пока не ноль и не конец столбца}
   begin
    if a[i,j]=0 then f:=false{если ноль меняем значение флага}
    else i:=i+1;{иначе идем вперед}
   end;
  if f then ks:=ks+1;{если нет 0, считаем}
 end;
writeln('Количество столбцов без нолей=',ks);
write('Press Rnter...');
readln;
{перестановка строк по неубыванию сумм(по последнему столбцу)}
for i:=1 to n-1 do
for l:=i+1 to n do
if a[i,m+1]>a[l,m+1] then
for j:=1 to m+1 do
 begin
  b:=a[i,j];
  a[i,j]:=a[l,j];
  a[l,j]:=b;
 end;
writeln('Строки по неубыванию сумм:');
writeln('Сумма':(m*4+6));
for i:=1 to n do
 begin
  for j:=1 to m+1 do
  if j=m+1 then write(a[i,j]:6)
  else write(a[i,j]:4);
  writeln;
 end;
readln
end.
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
07.05.2010, 05:27  [ТС]
Спасибо. у меня вопрос как убрать сумму

Добавлено через 2 минуты
Как можно это по другому записать:
until n in [1..nmax];
И что бы мы матрицу вводили с клавиатуры. а не с регенерации случайных чисел

Добавлено через 52 минуты
а можешь ещё интер убрать
0
3316 / 1378 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
07.05.2010, 05:41
Цитата Сообщение от spy-man Посмотреть сообщение
Как можно это по другому записать:
until n in [1..nmax];
убрать цикл repeat-until вообще.


Цитата Сообщение от spy-man Посмотреть сообщение
И что бы мы матрицу вводили с клавиатуры. а не с регенерации случайных чисел
напиши
Pascal
1
2
write('a[',i,',',j,']=');
   readln(a[i,j]);
Добавлено через 22 секунды
Цитата Сообщение от spy-man Посмотреть сообщение
а можешь ещё интер убрать
какой энтер?
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
07.05.2010, 05:43  [ТС]
52 строчка write('Press Rnter...');
0
3316 / 1378 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
07.05.2010, 05:44
удали её вообще. Это не так сложно сделать я думаю
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
07.05.2010, 05:51  [ТС]
я ещё не понел про цикал until
repeat until
0
3316 / 1378 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
07.05.2010, 05:55
Цитата Сообщение от spy-man Посмотреть сообщение
repeat until
ну так открой встроенный хелп паскаля или гугл или преподавателя спроси, и может быть поймешь.
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
07.05.2010, 06:08  [ТС]
с циклом разобрался а чтобы вводить матрицу с клавиатуры надо за место randomize; вставить
write('a[',i,',',j,']=');
readln(a[i,j]);
0
3316 / 1378 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
07.05.2010, 06:15
да, замените и всё.
Пробуйте сами, учитесь творите!
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 19
16.05.2010, 05:35  [ТС]
можешь мне исправить задачу немного что бы сумма прибавлла четные и положительные
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2010, 05:35
Помогаю со студенческими работами здесь

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

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

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

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

Дана целочисленная прямоугольная матрица. Вывести ее на экран и определить количество строк, не содержащих ни одного нулевого элемента.
Дана целочисленная прямоугольная матрица. Вывести ее на экран и определить количество строк, не содержащих ни одного нулевого элемента.Язык...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru