עבור לתוכן

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

Featured Replies

פורסם

שלום לכולם,

עכשיו אני לומד 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"> Pascal 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>

ארכיון

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

דיונים חדשים