خیلی ممنون بابت راهنمایی هاتون.
مشکل من کامل حل شد و اون نتیجه ای رو که می خواستم گرفتم.
اون & هم اضافی بود.
تابع # <stdio.h> رو هم باید اضافه می کردم.
خیلی ممنون بابت راهنمایی هاتون.
مشکل من کامل حل شد و اون نتیجه ای رو که می خواستم گرفتم.
اون & هم اضافی بود.
تابع # <stdio.h> رو هم باید اضافه می کردم.
با اين فرض كه Test يك رشته مي باشد.
سلام اول میریم سراغ اولی توی اینجا یه متغیر اشاره گر به اسم test از نوع int تعریف شده
اول از همه در مورد ثابت ها بحث کنیم : که ثابت ها باید مقدار دهی اولیه بشند و اینکه در طول برنامه نباید تغییری کنند وگرنه کامپایلر خطایی رو صادر میکنه
این یه مثال برای اولی
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمیبینی که p مقدار دهی اولیه نشده و کامپایلر هیچ خطایی هم نمیگیره و به خوبی و خوشی کامپایل میشه
و یه چیز مهمتر اینکه مقدارش توی برنامه یکبار عوض میشه
خب حالا یه مثال برای دومی میزنیم
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدحالا اینجا 3 تا ارور داریمیک اینکه p باید مقدار دهی اولیه بشه دو : در خط هم p = &x و p = &y هم ارور داریم چون مقدار p سعی شده تغییر پیدا کنه
const int* p;
يعني جايي كه p به آن اشاره ميكند تا نميتوانيم تغير دهيم.
#include <iostream.h>
int main ()
{
int a=5;
const int *ptr=&a;
*ptr=20;
cout<<"*ptr= "<<*ptr<<endl;
cout<<"a= "<<a;
return 0;
}
اما خود p را مي توانيم تغير دهيم.
مورد دوم#include <iostream.h>
int main ()
{
int a=5;
int b=10;
const int *ptr=&a;
ptr=&b;
cout<<"*ptr + 2="<<(*ptr+2)<<endl;
cout<<"*ptr= "<<*ptr<<endl;
cout<<"a= "<<a;
return 0;
}
int * const p;
خود p را نميتوانيم تغير دهيم.
اما مقداري كه به آن اشاره ميكند قابل تغير است.#include <iostream.h>
int main ()
{
int a=5;
int b=10;
int* const ptr=&a;
ptr=&b;
cout<<"*ptr + 2="<<(*ptr+2)<<endl;
cout<<"*ptr= "<<*ptr<<endl;
cout<<"b= "<<b<<endl;
cout<<"a ="<<a;
return 0;
}
#include <iostream.h>
int main ()
{
int a=5;
int b=10;
int* const ptr=&a;
cout<<"*ptr + 2="<<(*ptr+2)<<endl;
cout<<"*ptr= "<<*ptr<<endl;
cout<<"b= "<<b<<endl;
*ptr=*ptr+10;;
cout<<"new *ptr = "<<*ptr<<endl;
cout<<"a ="<<a;
return 0;
}
Last edited by Life24; 15-09-2011 at 11:48.
سلام من 16 سالنه و تازه برنامه نویسی می کنم من با codeblocks کار می کنم وقتی من ;c = a % b رو می نویسم ازم خطا می گیره چرا??????????????????![]()
سلام
لطفا كد را كامل بگذاريد با تشكر
من چنتا مثال در بارهي سويج كيس تو سي ++ مي خوام مي تونيد كمكم كنيد.
سلامسلام من 16 سالنه و تازه برنامه نویسی می کنم من با codeblocks کار می کنم وقتی من ;c = a % b رو می نویسم ازم خطا می گیره چرا??????????????????
دوتا دلیل می تونه داشته یاشه
1- شاید متغیر c نوعش با a ,b فرق می کنه
2- شاید هم b برابر صفر هست ( می دونید که تقسیم عدد بر صفر غیر ممکن است )
موفق باشید
سلام
من یه برنامه میخام که 3 تا عدد رو گرفته و به ترتیب صعودی چاپشون میکنه
میخام کدشو در c++ بنویسم
ممنون میشم اگه کمکم کنید
سلام
دوستان این برنامه باید 3 تا عدد تصادفی رو صعودی چاپ باید بکنه ولی فقط اعداد از اخر به اول رو چاپ میکنه صعودی چی کارش کنم
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int a,b,c,t;
cout<<"enter numbers:";
cin>>a>>b>>c;
if(a>b)
t=a;
a=b;
b=t;
if(a>c)
t=a;
a=c;
c=t;
if(b>c)
t=b;
b=c;
c=t;
cout<<a<<b<<c;
return 0;
}
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)