Java/מערכים/תרגילים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Johnny Zoo (שיחה | תרומות)
דף חדש: ===פעולות בסיסיות=== ====בנייה ואתחול של מערך==== כתבו תוכנית שתיצור מערך מסוג int ובו 10 איברים, ותכניס לתאיו ...
 
Johnny Zoo (שיחה | תרומות)
מאין תקציר עריכה
שורה 52:
}
 
</pre>
</div>
}}
 
===חיפוש במערך===
זהו קטע קוד שיוצר מערך בן 100 תאים, ובו מספרים אקראיים בין 1 ל-100. המספרים הם אקראיים - ייתכן ומספר מסויים יופיע יותר מפעם אחת, או שלא יופיע כלל.
<div style="text-align:left; direction:ltr;">
<pre>
int[] arr = new int[100];
for(int i=0; i<arr.length; i++)
arr[i] = (int) (1 + Math.random()*100);
</pre>
</div>
הסבר: הפונקציה {{קוד בשורה|Math.random}} יוצרת מספר אקראי מסוג double, שערכו נע בין 0.0 ל-1.0. כדי לקבל מספר בין 0 ל-99, הכפלנו את התוצאה ב-100, וכדי לקבל ערך בין 1 ל-100 - הוספנו 1. לאחר מכן המרנו את המספר להיות מסוג int במקום מסוג double.
 
כתבו תוכנית שבונה מערך כזה (בעזרת קטע הקוד המצורף), ואז מאפשרת למשתמש לבדוק אם מספר מסויים מופיע בו. התוכנית תחפש כל מספר שהמשתמש יבקש, עד שהוא יקיש מספר שלא נמצא בטווח - מספר קטן מ-1 או מספר גדול מ-100. אם מספר מופיע - יודפס מספר התא בו הוא מופיע לראשונה, ואם לא - תודפס הודעה מתאימה.
{{מוסתר|פתרון|2=
<div style="text-align:left; direction:ltr;">
<pre>
import java.util.Scanner;
 
public class MyArray {
 
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean found, flag = true;
int[] arr = new int[100];
for(int i=0; i<arr.length; i++)
arr[i] = (int) (1 + Math.random()*100);
do {
System.out.print("Enter number to search: ");
int num = s.nextInt();
if(num>0 && num<=100) {
int i;
found = false;
// Search the array until number is found, or until end of array
for(i=0; i<arr.length && !found; i++) {
if(arr[i] == num) found = true;
}
if(found)
System.out.println("Number was found on cell "+i);
else
System.out.println("Number was not found");
}
else flag = false;
} while(flag);
}
}
</pre>
</div>