Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
#1

Удалить последний столбец матрицы, содержащий только отрицательные элементы - Delphi

05.06.2014, 11:52. Просмотров 561. Ответов 11
Метки нет (Все метки)

Дана матрица размером http://www.cyberforum.ru/cgi-bin/latex.cgi?M*N . Удалить ее последний столбец, содержащий только отрицательные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений. Заранее благодарю.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 11:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить последний столбец матрицы, содержащий только отрицательные элементы (Delphi):

Удалить последний столбец матрицы, содержащий только отрицательные элементы
Дана матрица размера M ´ N. Удалить ее последний столбец, содержащий только...

Поменять местами столбец матрицы с номером N и первый из столбцов, содержащих только отрицательные элементы
// Дана матрица размера M x N. // Поменять местами // столбец с номером N ...

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

Удалить столбец содержащий минимальный элемент матрицы
дана матрица размером 5 на 10. Удалить столбец содержащий минимальный элемент...

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

Матрица(Поменять местами столбец N и первый из столбцов, содержащих только отрицательные элементы)
Дана матрица размера MxN. Поменять местами столбец с номером N и первый из...

11
Зотов_из_ОСА
Аналитик
79 / 79 / 63
Регистрация: 24.04.2014
Сообщений: 465
Записей в блоге: 15
05.06.2014, 14:27 #2
Лучший ответ Сообщение было отмечено andrey95e как решение

Решение

andrey95e, условие какое-то странное. Это можно сделать просто идя от последнего столбца к первому.
это вариант с выводом 0, если нужен со сдвигом отпишись
Delphi
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
 j:=m;
 while (j<>1) or (bul=true) do
  begin
     for i:=1 to n do 
       begin
         if a[j,i]<0 then bul1:=bul1 and true else 
                       begin
                         bul1:=false;
                         break;
                       end;
         if (i=n) and (bul1)= true then 
                      begin
                         bul:=true;
                         break; 
                      end; 
       end;
      if bul=false then dec(j);
  end;
  for i:=1 to n do a[j,i]:=0;
//-------------------------------------
  for i:=1 to n do 
      for j:=1 to m do 
         begin
           memo1.lines[i-1]:=memo1.lines[i-1] + inttostr(a[j,i]) + ' ';
         end;
1
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 14:39  [ТС] #3
Можно с формой?
0
Зотов_из_ОСА
Аналитик
79 / 79 / 63
Регистрация: 24.04.2014
Сообщений: 465
Записей в блоге: 15
05.06.2014, 15:14 #4
Цитата Сообщение от andrey95e Посмотреть сообщение
Можно с формой?
А что сложного -то
Всего-то memo и 2 Button.
1 - генерация массива
2 - приведенный код
0
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 19:47  [ТС] #5
Ок. Попробую.

Добавлено через 3 часа 30 минут
что-то не получается. Скинь пожалуйста форму.
0
Зотов_из_ОСА
Аналитик
79 / 79 / 63
Регистрация: 24.04.2014
Сообщений: 465
Записей в блоге: 15
05.06.2014, 19:48 #6
Цитата Сообщение от andrey95e Посмотреть сообщение
что-то не получается.
andrey95e, что именно?
0
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 19:49  [ТС] #7
несоответствие типов...
0
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 20:18  [ТС] #8
на такой форме можно?
0
Вложения
Тип файла: rar двум. массив.rar (1.2 Кб, 3 просмотров)
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 20:30  [ТС] #9
какие типы переменных?
0
Зотов_из_ОСА
Аналитик
79 / 79 / 63
Регистрация: 24.04.2014
Сообщений: 465
Записей в блоге: 15
05.06.2014, 21:08 #10
Цитата Сообщение от andrey95e Посмотреть сообщение
какие типы переменных?
andrey95e, Bul - boolean;a - array[1..n,1..m] of integer, все остальное- integer
0
andrey95e
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 38
05.06.2014, 21:20  [ТС] #11
что не так делаю?
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  n:integer;
  m:integer;
  bul:boolean;
  a:array[1..n]of integer;
  a:array[1..m]of integer;
  i:integer;
  j:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
j:=m;
 while (j<>1) or (bul=true) do
  begin
     for i:=1 to n do 
       begin
         if a[j,i]<0 then bul1:=bul1 and true else 
                       begin
                         bul1:=false;
                         break;
                       end;
         if (i=n) and (bul1)= true then 
                      begin
                         bul:=true;
                         break; 
                      end; 
       end;
      if bul=false then dec(j);
  end;
  for i:=1 to n do a[j,i]:=0;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
for i:=1 to n do 
      for j:=1 to m do
         begin
           memo1.lines[i-1]:=memo1.lines[i-1] + inttostr(a[j,i]) + ' ';
         end;
end;
 
end.
Добавлено через 2 минуты
что не так делаю?
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  n:integer;
  m:integer;
  bul:boolean;
  a:array[1..n]of integer;
  a:array[1..m]of integer;
  i:integer;
  j:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
j:=m;
 while (j<>1) or (bul=true) do
  begin
     for i:=1 to n do 
       begin
         if a[j,i]<0 then bul1:=bul1 and true else 
                       begin
                         bul1:=false;
                         break;
                       end;
         if (i=n) and (bul1)= true then 
                      begin
                         bul:=true;
                         break; 
                      end; 
       end;
      if bul=false then dec(j);
  end;
  for i:=1 to n do a[j,i]:=0;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
for i:=1 to n do 
      for j:=1 to m do
         begin
           memo1.lines[i-1]:=memo1.lines[i-1] + inttostr(a[j,i]) + ' ';
         end;
end;
 
end.
0
Зотов_из_ОСА
Аналитик
79 / 79 / 63
Регистрация: 24.04.2014
Сообщений: 465
Записей в блоге: 15
06.06.2014, 12:24 #12
andrey95e, скинь все файлы проекта, без главного файла форму не посмтореть
0
06.06.2014, 12:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 12:24
Привет! Вот еще темы с решениями:

Поменять местами первый и последний отрицательные элементы массива
Дан массив А7 поменять местами первый и последний отрицательные элементы...

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

Найти последний из кратных 5 элементов массива, заменить этим числом все отрицательные элементы
Дан массив из 10 целых чисел . Найти последний из кратных 5 элементов. Заменить...

Работа с типизированными файлами, продублировать столбец матрицы, содержащий её минимальный элемент
Доброго времени суток! :) Есть задача, которую нужно решить, но у меня не...


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

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

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