Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

матрица   Найти похожие ветки 

 
aids   (2007-09-12 23:37) [0]

подскажите плиз циклы чтобы заполнить матрицу по диагонали а то уже запарился подбирать индексы

для 5 матрица имеет вид
   1   2  4   7   11
   3   5  8   12 16
   6   9  13 17  20
   10 14 18 21  23
   15 19 22 24  25


 
Virgo_Style ©   (2007-09-13 00:17) [1]

Нет желания причесывать код, править индексы - сделай сам. Возможно, можно сделать и умнее - но поздно и спать пора)

procedure TForm1.Button1Click(Sender: TObject);
var N:integer;
r,c,value,increment:integer;
Arr:Array of array of integer;

begin
N:=StrToInt(Edit1.Text);

SetLength(Arr,N+1,N+1);

Value:=1;
Increment:=1;

for c:=1 to N do begin
  Arr[c,1]:=Value;
  Inc(Value,Increment);
  Inc(Increment);
end;

Increment:=N;

for r:=2 to N do begin
  Arr[N,r]:=Value;
  Dec(Increment);
  Inc(Value,Increment);
end;

for r:=2 to N do
 for c:=1 to N-1 do
   Arr[c,r]:=Arr[c+1,r-1]+1;

StringGrid1.RowCount:=N+1;
StringGrid1.ColCount:=N+1;

for c:=1 to N do
 for r:=1 to N do
   StringGrid1.Cells[c,r]:=IntToStr(Arr[c,r]);

end;


 
aids   (2007-09-13 00:24) [2]

#include <iostream.h>
#include <conio.h>

int m[9][9];
int i, j, p, last_i, last_j;

int main()

{
char flag;

last_i=i=8; // &#231;&#224;&#228;&#224;&#254; &#237;&#224;-&#224;&#235;&#252;&#237;&#251;&#229; &#234;&#238;&#238;&#240;&#228;&#232;&#237;&#224;&#242;&#251; &#242;&#238;-&#234;&#232;
last_j=j=0;
flag=1;
p=1;
while(flag)
{
 m[i][j]=p;
 if(!j||!i)
 {  
  last_j++;
  j=(last_j<9)?last_j:8;
  if(last_j>8)
   last_i--;
  i=last_i;
  if(last_i<0)
   flag=0;
 }
 else
 {
  i--;
  j--;
 }
 p++;
}

у меня правда на си зато два вложенных наконецто получилось!!!!!!!
}


 
первоклассник   (2007-09-13 04:28) [3]

Эх - студенты:-(

Это задание к программированию с натяжкой можно отнести, ну чуточку самую малость подумать и всё.

И здесь тоже самое:
http://delphimaster.net/view/2-1189575199/


 
iam   (2007-09-13 10:29) [4]

const n = 7;

var i, j, nextRowStartNumber: Integer;
    Arr: Array[1..n, 1..n] of Integer;
begin
...
nextRowStartNumber := 0;
for i := 1 to n do begin
 Inc(nextRowStartNumber, i);
 Arr[i,j] := nextRowStartNumber;
 for j := 2 to n do begin
   Arr[i,j] := nextRowStartNumber+(j-1)+(i-1)
 end;
end;


 
iam   (2007-09-13 10:32) [5]


const n = 7;

var i, j, nextRowStartNumber: Integer;
   Arr: Array[1..n, 1..n] of Integer;
begin
...
nextRowStartNumber := 0;
for i := 1 to n do begin
Inc(nextRowStartNumber, i);
Arr[i,1] := nextRowStartNumber;
for j := 2 to n do
  Arr[i,j] := nextRowStartNumber+(j-1)+(i-1)
end;



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
15-1189659867
жук_
2007-09-13 09:04
2007.10.14
жук


3-1181237949
AlexDav
2007-06-07 21:39
2007.10.14
Из Access в InterBase


15-1189735938
Slider007
2007-09-14 06:12
2007.10.14
С днем рождения ! 14 сентября 2007 пятница


11-1173541324
Dmitriy___
2007-03-10 18:42
2007.10.14
kolcryptolib: ошибка при установке


3-1181046100
ambhtr
2007-06-05 16:21
2007.10.14
Помогите составить запрос.