Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
2-1190372911
webpauk
2007-09-21 15:08
2007.10.14
Array of TmyRec


1-1185876024
Solo
2007-07-31 14:00
2007.10.14
А где модуль ShareMem в Delphi 2006?


2-1189659320
Washington
2007-09-13 08:55
2007.10.14
Демо версия


2-1190198322
Василий
2007-09-19 14:38
2007.10.14
Как изменить внешний вид


4-1172569970
DevilDevil
2007-02-27 12:52
2007.10.14
Поток. Как "убить себя" ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский