خیلی ممنون بابت راهنمایی هاتون.
مشکل من کامل حل شد و اون نتیجه ای رو که می خواستم گرفتم.
اون & هم اضافی بود.
تابع # <stdio.h> رو هم باید اضافه می کردم.
Printable View
خیلی ممنون بابت راهنمایی هاتون.
مشکل من کامل حل شد و اون نتیجه ای رو که می خواستم گرفتم.
اون & هم اضافی بود.
تابع # <stdio.h> رو هم باید اضافه می کردم.
با اين فرض كه Test يك رشته مي باشد.نقل قول:
سلام اول میریم سراغ اولی توی اینجا یه متغیر اشاره گر به اسم test از نوع int تعریف شدهنقل قول:
اول از همه در مورد ثابت ها بحث کنیم : که ثابت ها باید مقدار دهی اولیه بشند و اینکه در طول برنامه نباید تغییری کنند وگرنه کامپایلر خطایی رو صادر میکنه
این یه مثال برای اولی
کد:#include <iostream.h>
#include <conio.h>
int main()
{
int x=10,y=20;
const int *p;
p = &x;
cout << *p;
getch();
p = &y;
cout << *p;
getch();
}
میبینی که p مقدار دهی اولیه نشده و کامپایلر هیچ خطایی هم نمیگیره و به خوبی و خوشی کامپایل میشه
و یه چیز مهمتر اینکه مقدارش توی برنامه یکبار عوض میشه :31:
خب حالا یه مثال برای دومی میزنیم
کد:#include <iostream.h>
#include <conio.h>
int main()
{
int x=10,y=20;
int *const p;
p = &x;
cout << *p;
getch();
p = &y;
cout << *p;
getch();
}
حالا اینجا 3 تا ارور داریم :31: یک اینکه 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;
}
سلام من 16 سالنه و تازه برنامه نویسی می کنم من با codeblocks کار می کنم وقتی من ;c = a % b رو می نویسم ازم خطا می گیره چرا??????????????????:31:
سلامنقل قول:
لطفا كد را كامل بگذاريد با تشكر
من چنتا مثال در بارهي سويج كيس تو سي ++ مي خوام مي تونيد كمكم كنيد.
سلامنقل قول:
سلام من 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;
}