שאלה - ++c - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה - ++c


matliv

Recommended Posts

כתבתי את זה, זה מזהה אם האיבר זוגי/אי זוגי את הזוגיים כופל פי 2 ולאי זוגיים מוסיף 2.

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

אולי מישהו יכול לכוון אותי, את ההתחלה לפחות?

#include <iostream.h>

void evenfun(int *x, int *y)

{

*x = *y;

*x *= 2;

}

void oddfun(int *x, int *y)

{

*x = *y;

*x += 2;

}

int main()

{

int orig[10] = {5,16,7,18,27,31,33,36,47,49};

int odds[7];

int evens[3];

int i,a=0,b=0;

for(i=0; i<10; i++)

if(orig%2==0)

evenfun(evens+a++, orig+i);

else

oddfun(odds+b++, orig+i);

cout<<"\n"<<"The even numbers after modification: "<<"\n";

for(a=0;a<3;a++)

cout<<evens[a]<<" ";

cout<<"\n"<<"The odd numbers after modification: "<<"\n";

for(a=0;a<7;a++)

cout<<odds[a]<<" ";

return(0);

}

בתודה מראש.

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

במקום לכתוב

int bla[10]

אתה כותב

new int bla[10]

וככה אין לך בעיה להקצות דינאמי

כלומר אם יש לך משתנה n שאתה מקבל בקלט שמכיל את מספר האיברים אתה עושה

new int bla[n]

וזה יגדיר לך מארך בגודל n שקוראים לו bla

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

שהגדרת את המערך לפני שקיבלת את num

זה צריך להיות

#include <iostream.h>

int main()

{

int i;

int num;

cout<<"how many numbers";

cin>>num;

int *mush = new int[num];

for (i=0; i<num; i++)

mush = i+1;

return(0);

}

התבלבלתי קודם בסינטקס המדוייק כי מזמן לא עבדתי עם C++

בעיקרון אתה עושה

int *bla = new int

או

char *bla = new char

וכו...

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

ארכיון

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

×
  • צור חדש...