איך מכריזים על מטריצה ב JAVASCRIPT - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך מכריזים על מטריצה ב JAVASCRIPT


TaZeR

Recommended Posts

שלום לכולם,

עכשיו אני לומד JAVASCRIPT וקיבלתי אתגר להכין קוד שמציירת את משולש פסקל. את התוכנית ביססתי על מערכים דו מימדיים, כלומר מטריצה. למישהו יש מושג איך מכריזים על מטריצה אם על מערך מכריזים כך:

var x=new Array();

קישור לתוכן
שתף באתרים אחרים

בכל מקום שאתה רוצה בתוך המערך שיצרת אתה פשוט מכניס עוד מערך...אם אתה רוצה מראש לעשות את זה מטריצה תעשה לולאה שתרוץ על כל האיברים ותכניס בהם מערך

קישור לתוכן
שתף באתרים אחרים

בכל מקום שאתה רוצה בתוך המערך שיצרת אתה פשוט מכניס עוד מערך...אם אתה רוצה מראש לעשות את זה מטריצה תעשה לולאה שתרוץ על כל האיברים ותכניס בהם מערך

אבל אני רוצה שתהיה תיבת טקסט שבה אתה כותב את מספר השורות שיוצגו ממשולש פסקל, ולכן אמורים להיות X מערכים כאשר X ידוע רק בעת ההרצה. לכן, חשבתי על מערך דו מימדי.
קישור לתוכן
שתף באתרים אחרים

הכנתי לך דוגמא כדי שתראה.

הדוגמא לוקחת את הערך שאתה מכניס לתוך תיבת הטקסט וכך בונה מערך משונן (מערך דו מימדי אשר כל מערך בו יכול להיות בגודל שונה ולא בהכרח שווה כמו מטריצה).

כמובן שבמקום למלא את הערכים ב 0 כמו שאני עשיתי אתה יכול לשים את הערך לפי האלגוריתם של משולש פסקל (לא מכיר כל כך אותו לכן לא בניתי אותו גם)

בכל מקרה אם יש שאלות... תהנה.

דוגמא:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/url]

<html xmlns="[url]http://www.w3.org/1999/xhtml">[/url]
<head>
<script type="text/javascript">
var tri_array;
function create_triangle()
{
var x = eval(document.getElementById("textbox").value);
tri_array = new Array(x);
for(var i = 0;i<x;i++)
{
tri_array[i] = new Array(i+1);
}
for(var j = 0;j<x;j++)
{
for(var k = 0;k<tri_array[j].length;k++)
{
tri_array[j][k] = 0;
}
}
for(var t = 0;0<x;t++)
{
document.writeln(tri_array[t].length.toString());
}
}
</script>

<title></title>
</head>
<body>

<p>
<input id="textbox" type="text" /><input id="btn_create_triangle" type="button"
value="create" onclick="create_triangle()" /></p>

</body>
</html>

קישור לתוכן
שתף באתרים אחרים

לא הבנתי כ"כ. עכשיו עלה לי רעיון לעשות מערך לשורות הזוגיות ולשורות האי-זוגיות וכל פעם לרדת שורה.

הנה הקוד של מה שיצרתי:



<html>

<head>

<script language="javascript">
function pascal()
{
var m, y, x=frm.lines.value;
var i= new Array();
var j= new Array();

for(m=0; m<x; m++)
{
if(m==0)
{
for(y=0; y<(2*x)-1; y++)
{
if(y==x-1)
{
i[y]=1;
document.write(i[y]);
}
else
{
i[y]=0;
document.write("<font color=white>"+i[y]+"</font>");
}
}
}

else if(m%2==0)
{
for(y=0; y<(2*x)-1; y++)
{
if(y==0)
{
i[y]=0+j[y+1];
}
else if (y==(2*x)-2)
{
i[y]=j[y-1]+0;
}
else
{
i[y]=j[y-1]+j[y+1];
}

if(i[y]==0)
{
document.write("<font color=white>"+i[y]+"</font>");
}
else
{
document.write(i[y]);
}
}
}

else
{
for(y=0; y<(2*x)-1; y++)
{
if(y==0)
{
j[y]=0+i[y+1];
}
else if (y==(2*x)-2)
{
j[y]=i[y-1]+0;
}
else
{
j[y]=i[y-1]+i[y+1];
}

if(j[y]==0)
{
document.write("<font color=white>"+j[y]+"</font>");
}
else
{
document.write(j[y]);
}
}
}

document.write("<br>");
}
}
</script>

</head>

<body>

<form name="frm">
<h2> <font face="Comic Sans MS"> Triangle </font> </h2>
<font face="Arial"> Enter The Number Of Lines You Want To See: </font>
<input type="text" name="lines">
<input type="button" value="OK" onclick="pascal()">

</form>

</body>

</html>

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...