מערכים C++

brokenn

New member
מערכים C++

שלום,אני אשמח לקבל רמז איך להתחיל את התוכנית הבאה:
כתבו תוכנית בה מוגדרים ארבעה מערכים שונים, בגודל 1, 8, 6 ו 12. עבור כל מערך:
א. התכנית מבקשת וקולטת ערכים לתוכו.
ב. מדפיסה את המערך לאחר קליטת הערכים.
ג. שולחת את כתובת האיבר הראשון ואת אורך המערך לפונקציה sum_array (מוגדרת בהמשך),
ד. מדפיסה את המערך אחרי השינוי.
כתבו פונקציה המקבלת את כתובת התא הראשון ואת אורך המערך ומציבה בכל תא את סכום הערכים המקוריים שבתאים שלפניו, כולל אותו. בתא החמישי למשל – יוצב סכום הערכים המקוריים מתאים אפס ועד חמש (כולל).

אני לא כל כך יודעת איך להתחיל לכתוב תוכנית שכל פעם מקבלת מערך מגודל שונה ושולחת אותו לפונקציה
אשמח לקבל רמז:)
תודה
 

nocgod

New member
זה הנוסח המקורי של התרגיל?

לא בטוח שהבנתי אותו כנדרש, אבל בכל זאת.

תגדיר מערכים בגדלים שונים בגדלים 1,6,8,12
תכתוב פונקציה שמקבלת מצביע לint ואת גודלו ומבצעת את שלבים א-ד
תכתוב את הפונקציה שנדרשת לכתוב בתרגיל
תפעיל את 2 הפונקציות בסדר הנכון עבור כל מערך בנפרד.

בהצלחה
 

brokenn

New member
היי תודה

אני לא מבינה משהו,איך אני אמורה בכלל להתחיל לכתוב את התוכנית?
בדרך כלל הייתי רושמת ככה לדוגמא(בלי העניין של השליחה לפונקציה,רק ההתחלה):

#include <conio.h>
#include <math.h>
#include <stdio.h>
#define LEN 7

void main(){
int number[LEN],i,sum=0;
printf("please enter 7 nums:");
for(i=0;i<LEN;i++){/*putting each number into his place in the array*/
scanf_s("%d",&number);}

אבל עכשיו כשיש לי כמה מערכים שונים,איף התוכנית תדע באיזה מערך להציב את המספרים שהזנתי??
 

nocgod

New member
היא תדע כי את תגידי לה...

כמו שהבאתי לך בדוגמא, 4 מערכים שונים עם שם שונה.
המערך שאת השם שלו תעבירי, הוא המערך שימולא.

יש לך לימודים פורמליים או ספר/אתר? אם לא אז הייתי ממליץ בחום ללמוד קודם כל את התאוריה בליווי דוגמאות
הקוד שאני רואה פה זה לא ++C אלא C, אז הייתי ממליץ על The C programming language של K&R
אם את לומדת ++C הייתי ממליץ על ספר של deitel and deitel שנקרא C++ how to program או משהו כזה, יש גם את הספר של יוצר/מעצב השפה straustrup שנקרא the C++ programming palnguage אבל אני מוצא אותו קצת יותר מידי מסובך למישהו ללא ניסיון בתכנות.

בהצלחה
,
 

brokenn

New member
זה הכיוון?

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define LEN1 1
#define LEN2 8
#define LEN3 6
#define LEN4 12

void sum_array(int arr[],unsigned n);

void main(){
int i,V1[LEN1],V2[LEN2],V3[LEN3],V4[LEN4];
printf("enter numbers:");
for(i=0;i<LEN1;i++){
scanf_s("%d",&V1);
printf("the array before change\n:");}

sum_array(V1,LEN1);
printf("the array after change\n:");}
for(i=0;i<LEN1;i++)
printf("%d, ",V1);

for(i=0;i<LEN2;i++){
scanf_s("%d",&V2);
printf("the array before change\n:");}
sum_array(V2,LEN2);
printf("the array after change\n:");}
for(i=0;i<LEN2;i++)
printf("%d, ",V2);

.
.
.
.
.
.
.



void sum_array(int arr[],unsigned n){
int i;
for(i=0;i<n;i++)
arr+=arr[i-1];
}
 

nocgod

New member
בערך כן.

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

brokenn

New member
מממ

פשר דוגמא איך התוכנית ההתחלתית אמורה חהיראות בערך?אני אבודה..
 

nocgod

New member
תעברי על מה שכתבתי לך תראי שיש לך שלד

שאם תכניסי לתוכו את מה שאת כתבת תקבלי את הפיתרון

את לומדת במכללה/אוניברסיטה/בית ספר?
אם כן אני באמת ממליץ לקחת ספר לידיים ולהגיע לתרגולים/מעבדות ולשאול שאלות את המתרגל, הם מקבלים על זה כסף זו חובתו לענות במהלך התרגול ובשעות קבלה על שאלות.
(הגעה להרצאות היא רצוייה מאוד גם כן)
 
למעלה