ABA


"Java|עזרה קטנה בסדרה הנדסית,תודה."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21015 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21015
Sadikovz
חבר מתאריך 4.12.14
17 הודעות
   17:47   04.12.14   
אל הפורום  
  Java|עזרה קטנה בסדרה הנדסית,תודה.  
 
   שלום לכולם,
אני צריך לבצע תוכנית שאמורה לקבל מהמשתמש שלוש משתנים המרכיבים סדרה הנדסית(a=מספר ראשון בסדרה,q=מנת הסדרה,num=מספר איברי הסדרה).
ומהמשתנים האלה לבנות סדרה הנדסית, בניתי את התוכנית והכל טוב ויפה , אבל בפלט הוא מוציא רק את סכום הסדרה ההנדסית, נאמר המשתמש הכניס a=3 ו 2q= וnum=6 אז הפלט יוצא 96 שש פעמים, השאלה שלי היא :איך אני גורם להוציא פלט שמראה את כל הסדרה עד שהגיע למספר המבוקש, במידה והוכנסו המספרים הנ"ל אז הפלט יהיה
The 6 first elements are: 3, 6, 12, 24, 48, 96.

קוד:
import java.util.Scanner;
public class Ex1 {
public static void main (String args){
Scanner sc = new Scanner(System.in);
double a,q,num,GP=0;
System.out.println("enter first number: ");
a=sc.nextDouble();
System.out.println("enter second number: ");
q=sc.nextDouble();
System.out.println("Enter number of elements to present: ");
num=sc.nextDouble();
GP=geometricProgression(a,q,num,GP);
for(int i=0;i<num;i++){
System.out.print((int)GP+",");
}
}
public static double geometricProgression(double a,double q,double num,double GP){
num -=1;
return GP=a*(Math.pow(q,num));
}
}
זה הקוד שרשמתי עד כה , אשמח להסבר.
תודה מראש.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הקוד המתוקן GaL 04.12.14 21:09 1
     תודה על התשובה Sadikovz 04.12.14 21:15 2
         מכתב cfirzzz 05.12.14 15:38 3
  אחלה תודה, ושבת שלום. Sadikovz 05.12.14 16:24 4

       
GaL לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.9.09
791 הודעות, 2 פידבק
   21:09   04.12.14   
אל הפורום  
  1. הקוד המתוקן  
בתגובה להודעה מספר 0
 
	public static void main(String args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
double a,q,num,GP=0;
System.out.println("enter first number: ");
a=sc.nextDouble();
System.out.println("enter second number: ");
q=sc.nextDouble();
System.out.println("Enter number of elements to present: ");
num=sc.nextDouble();
for(int i=0;i<num;i++){
GP=geometricProgression(a,q,i,GP);
System.out.print((int)GP+",");
}
}

public static double geometricProgression(double a,double q,double num,double GP){

return GP=a*(Math.pow(q,num));
}

שים לב הטעות שלך הייתה שאתה קורא לפונקציה geometricProgression פעם אחת ומדפיס את אותו ערך num פעמים, עוד דבר זה שאין צורך ב num-=1 בתוך הפונקציה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sadikovz
חבר מתאריך 4.12.14
17 הודעות
   21:15   04.12.14   
אל הפורום  
  2. תודה על התשובה  
בתגובה להודעה מספר 1
 
   תודה על התשובה , הכל עובד, אבל תוכל להסביר לי מה גרם לכך שתופיע כל הסדרה מהתחלה ולא כמו שהופיע אצלי(התשובה הסופית 6 פעמים)?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
cfirzzz לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
5060 הודעות, 2 פידבק
   15:38   05.12.14   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 2
 
   אתה ביצעת את החישוב של האיבר הבא מחוץ ללולאה ואז הדפסת אותו 6 פעמים
במקום לחשב את המספר הבא כל פעם בתוך הלולאה ולהדפיס אותו

אגב,
גם ההשמה בתוך הפונקציה של החישוב המספר הבא מיותרת (החלק של GP= בתוך הפונקציה)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sadikovz
חבר מתאריך 4.12.14
17 הודעות
   16:24   05.12.14   
אל הפורום  
  4. אחלה תודה, ושבת שלום.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net