Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2011, 19:08   #1
BLADIMIR
Пользователь
 
Регистрация: 05.09.2011
Сообщений: 24
Восклицание двумерный массив. вывести все строки, содержащие хотя бы один "0"(ноль) (написать через функцию в Delphi)

дан двумерный массив. вывести все строки, содержащие хотя бы один "0"(ноль). через функцию


______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.09.2011 в 19:41.
BLADIMIR вне форума Ответить с цитированием
Старый 07.09.2011, 19:22   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Может быть хоть что-то попробуете сами сделать и покажите код, расскажите что конкретно не получается?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.09.2011, 19:24   #3
BLADIMIR
Пользователь
 
Регистрация: 05.09.2011
Сообщений: 24
По умолчанию

Код:
type mas=array of integer; //строка матрицы
matr=array of mas; //массив строк
function IsZero(a:mas):boolean; //функция поиска 0 в строке
var i:integer;
begin
i:=0;
result:=false;
while(i<high(a))and not result do
if a[i]=0 then result:=true
else inc(i);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var a:matr;
    n,m,i,j,k:integer;
begin
randomize;
n:=SpinEdit1.Value;
m:=SpinEdit2.Value;
if(n=0)or(m=0) then
 begin
  ShowMessage('Вы не ввели размеры матрицы');
  exit;
 end
else
 begin
  SetLength(a,n,m);
  StringGrid1.ColCount:=m;
  StringGrid1.RowCount:=n;
  StringGrid2.ColCount:=m;
  StringGrid2.RowCount:=0;
  for i:=0 to n-1 do
  for j:=0 to m-1 do
  a[i,j]:=random(10);
  for i:=0 to n-1 do
  for j:=0 to m-1 do
  StringGrid1.Cells[j,i]:=IntToStr(a[i,j]);
  k:=-1;
  for i:=0 to n-1 do
  if IsZero(a[i]) then
   begin
    inc(k);
    StringGrid2.RowCount:=StringGrid2.RowCount+1;
    for j:=0 to m-1 do
    StringGrid2.Cells[j,k]:=StringGrid1.Cells[j,i];
   end;
  if k=-1 then ShowMessage('В матрице нет нолей');
 end;
end;

Только мне нужно это как то попроще...
Через Console Application

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.09.2011 в 19:40.
BLADIMIR вне форума Ответить с цитированием
Старый 07.09.2011, 19:44   #4
BLADIMIR
Пользователь
 
Регистрация: 05.09.2011
Сообщений: 24
По умолчанию

Нужно, чтобы там было uses_crt
BLADIMIR вне форума Ответить с цитированием
Старый 07.09.2011, 21:24   #5
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

модуля CRT в Delphi нету, а в консоли по сути надо только заменить
Код:
n:=SpinEdit1.Value;
m:=SpinEdit2.Value;
на
Код:
readln(n,m);
удалить все упоминания о stringgrid и переименовать процедуру в какой нибудь Rashet
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма ряда с точностью Е=10-4, Сформировать обномерный массив, написать функцию для удаления строки... Dasha M Паскаль, Turbo Pascal, PascalABC.NET 1 06.05.2011 18:33
Двумерный массив прочитать из строки (Delphi) Dominator8000 Помощь студентам 1 18.03.2011 00:46
Строки.Напечатать все слова, содержащие по одной цифре. Lanka1 Общие вопросы C/C++ 11 11.02.2011 16:36
Delphi, ошибка деления на ноль, хотя знаменатель не ноль Эренка Помощь студентам 7 22.04.2010 15:56
Как удалить все строки в Excel содержащие.. Dux Microsoft Office Excel 15 11.09.2009 04:41