Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal Шифрование https://www.cyberforum.ru/ pascal/ thread133137.html
Может кто помочь с этими Тремя заданиями? Буду очень благодарен )) http://i049.***********/1005/25/28908810fc11.jpg Добавлено через 7 часов 55 минут Буду рад помощи :)
Pascal Записи и процедуры.
Помогите, пожайлуста, решить 2 задачи на паскале. Заранее ОЧЕНЬ благодарен! 1)Эта зана тему "Записи". Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии,...
Pascal Составить блок-схемы по готовой программе
program zad; uses crt; type m=array of integer; procedure vvod; var mas:array of integer; j,max,kol:integer; begin
Pascal Составить программу, чтобы вышел логотип по условию можете помогти скласти програму, яка б в графічному режимі виводила логотим вигаданий, що має містити назву фірми, кілька геометричних фігур та ліній різних кольорів, зізними типами заливки і... https://www.cyberforum.ru/ pascal/ thread133128.html
Pascal В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) самый маленький ср https://www.cyberforum.ru/ pascal/ thread133127.html
В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) самый маленький срок, за который нашли книгу; 2) сколько заказов...
Pascal Даны массив А из n элементов и число K. Переставить элементы массива А так, чтобы все элементы со значением, большим, чем число K, попали в первую пол
Даны массив А из n элементов и число K. Переставить элементы массива А так, чтобы все элементы со значением, большим, чем число K, попали в первую половину массива, а остальные – во вторую.
Pascal Найти среднее значение сумм элементов нечетных столбцов под главной диагональю.
Найти среднее значение сумм элементов нечетных столбцов под главной диагональю. Подскажите хотя бы примерно
Pascal Определить парными или не парными э два числа a и b Определить парными или не парными э два числа a и b. https://www.cyberforum.ru/ pascal/ thread133109.html
Pascal Обработка массивов переменной длины https://www.cyberforum.ru/ pascal/ thread133108.html
Методика выполнения работы. Дана матрица, состоящая из n строк и n столбцов или одномерные массивы из n элементов каждый. Согласно предложенному варианту задания, разработать схему алгоритма и...
Pascal Разветвляющиеся вычислительные процессы Не могу решить задачу помогите пожалуйста https://www.cyberforum.ru/ pascal/ thread133107.html
Модератор
62830 / 46889 / 32315
Регистрация: 18.05.2008
Сообщений: 113,617
06.11.2010, 09:02 0

Стандартные операции с массивами (матрицами)

06.11.2010, 09:02. Просмотров 178093. Ответов 36
Метки (Все метки)

Ответ


Удаление всех строк и столбцов, содержащих хоть 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
uses crt;
var a:array[1..10,1..9] of integer;
    b:array[1..9] of byte;
    m,n,i,j,f,p,k:byte;
begin
clrscr;
randomize;
n:=10;
m:=9;
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(10);
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
{номера столбцов с нолями}
f:=0;
for j:=1 to m do
 begin
  k:=0;
  for i:=1 to n do
  if a[i,j]=0 then
   begin
    k:=1;
    f:=1;
   end;
  b[j]:=k;
 end;
if f=0 then write('В матрице нет нолей!')
else
 begin
  {удаление строк с нолем}
  i:=n;{начнем с конца}
  while(i>=1)and(n>0) do
   begin
    k:=0;
    j:=1;
    while(j<=m)and(k=0) do
    if a[i,j]=0 then k:=1
    else j:=j+1;
    if k=1 then{если есть ноль}
     begin
      f:=f-1;{вычитаем строку}
      if i=n then {если строка на этот момент последняя}
       begin
        n:=n-1;{обрезаем}
        i:=i-1;{верх}
       end
      else {если не последняя}
       begin
        for k:=i to n-1 do{от этой строки до предпоследней}
        for p:=1 to m do{всем элементам строк}
        a[k,p]:=a[k+1,p];{присваиваем значения нижней}
        n:=n-1;{уменьшаем количество}
       end;
     end
    else i:=i-1;{если нет нолей, вверх}
   end;
if n=0 then writeln('Все строки и столбцы удалены!')
else{если остались строки, удаляем столбцы}
 begin
  f:=m;{начнем с конца}
  for i:=m downto 1 do{в обратном порядке читаем массив номеров}
  if b[i]=1 then{если есть ноль}
   begin
    if i=f then{и последний на данный момент, также как строки}
      begin
       m:=m-1;
       f:=f-1;
      end
    else {если не последний, тоже как строки}
     begin
      for k:=i to m-1 do
      for p:=1 to n do
      a[p,k]:=a[p,k+1];
      m:=m-1;
     end;
   end;
  writeln('Матрица после сжатия:');
  for i:=1 to n do
   begin
    for j:=1 to m do
    write(a[i,j]:3);
    writeln;
   end;
 end;
 end;
readln
end.


Вернуться к обсуждению:
Стандартные операции с массивами (матрицами)
8
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2010, 09:02
Готовые ответы и решения:

Стандартные операции с матрицами
Очень прошу, помогите, кто чем сможет) буду очень благодарна... Написать программы и если можно,...

Стандартные операции с массивами
Можете помочь? Завтра сдавать : 1) Вести массив A(N). Найти среднее геометрическое значение...

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

Стандартные мат. операции с двумерными массивами
Возможно ли вычитание и другие стандартные мат. операции с двумерными массивами как с векторами?...

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