IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> матрица в стринггриде
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской

Репутация: -  0  +


Помогите пожайлуста переделать из паскаля в дельфи такую программу с использованием стринггрида. Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан масив целых чисел A[M,N], где M,N<=10. Удалить все столбцы, в которых нет нулевого элемента. Использовать стринггрид. Вот код на паскале.
Код

program Task;
uses crt;
type mas=array [1..10,1..10] of integer;
var a:mas;
    m,n:integer;

procedure InputArray(var a:mas;var m,n:integer);
var i,j:integer;
    k:boolean;
begin
k:=true;
while k do begin
write('Vvedite razmer massiva (m,n): ');
readln(m,n);
if (m>10) or (n>10) then writeln('Error!Razmer bolshhe 10!!')
else k:=false;
end;
{
writeln('Vvedite massiv razmerom ',m,' x ',n); }
for i:=1 to m do
for j:=1 to n do begin
   write('a[',i,',',j,']=');
   read(a[i][j]);
   end;
end;

procedure DelCount(var a:mas;m:integer;var n:integer);
var i,j,i2,j2:integer;
    f:boolean;
begin
f:=true;
j:=1;
while j<=n do begin
if not(f) then begin
  for i2:=1 to m do
   for j2:=j-1 to n-1 do
    a[i2][j2]:=a[i2][j2+1];
   n:=n-1;
   j:=j-1;
  end
  else f:=false;
for i:=1 to m do
  if a[i][j]=0 then f:=true;
j:=j+1;
end;
f:=false;
for i:=1 to m do
  if a[i][n]=0 then f:=true;
if not(f) then n:=n-1;
end;

procedure OutputArray(a:mas;m,n:integer);
var i,j:integer;
begin
if n=0 then writeln('Stolbci ne soderzhat 0-elementov!')
else
for i:=1 to m do begin
writeln;
for j:=1 to n do
  write(' ',a[i][j]);
  end;
end;

begin
clrscr;
InputArray(a,m,n);
writeln;
writeln('Ishodnaia matrica: ');
OutputArray(a,m,n);
DelCount(a,m,n);
writeln;
writeln;
writeln('Rezultat: ');
OutputArray(a,m,n);
readln;
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской

Репутация: -  0  +


Вообщем так, как кинул СтрингГрид на форму, то там есть следующие "методы" работы сней, которые тебе понадобятся :

Stringgrid1.RowCount //Количество строк
Stringgrid1.ColCount //Количество Колонок
Stringgrid1.Cell[i,j] //Содержание i-го столбца, j-ой строки в виде !!!строки!!!
Stringgrid1.Weight // Общая ширина всего грида,
Stringgrid1.Height //тут может что-то не так в синтаксисе...
Stringgrid1.ColWidht[i] // Общая ширина Колонки грида,
Stringgrid1.RowHeight[i] //Общая высота строки грида,



Добавлено через 10 мин.
Также понадобятся тебе диалоги с пользователем:

Inputox(s1,s2,s3);//функция возвращает строку. s1 каптион диалога, s2 Что над едитом будет, s3 То что в едите будет
Showmessage(s1);//покажет сообщение со строкой s1 и кнопкой OK
MessageDLG(); ещё есть но она тебе не нужна

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Baumanec, это не методы, а свойства.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской

Репутация: -  0  +


Я знаю, поэтому в кавычки поставил.
Это для повышения понимаемости тут, когда я начинал такими фразами бросаться то все в аут уходили...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.11.2020 3:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name