mahdavi3d

همفکری کاربران برای رفع اشکالات برنامه نویسی

Recommended Posts

سلام

کسی می تونه بگه این Argv و Argc دقیقا چه کاربردی دارند !؟

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='100' timestamp='1374328227' post='322757']
سلام

کسی می تونه بگه این Argv و Argc دقیقا چه کاربردی دارند !؟
[/quote]
argv یک آرایه است که مقدار پارامتر های ورودی در خط فرمان را نگهداری می کند، تعداد این پارامترها هم در argc مشخص میشه.
در واقع argc تعداد عناصر argv رو مشخص می کنه.
  • Upvote 1

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
سلام

برای سی پلاس پلاس ، تابعی هست که عدد رو یکی یکی بگیره و به رشته وصلشون کنه !؟ ( یا یک عدد رو به صورت کاراکتر در بیاره ... مثلا 1521 رو یکباره به کاراکتر تبدیل کنه )

این آرایه ی پویا که نیاز نباشه از اول تعداد عناصرش رو براش تعریف کرد ...

این تمرین کتاب می گه یک عدد را بگیرید ، و بعد معکوسش رو چاپ کنید . تا اینجا مشکلی نداره و کارش رو ردیف کردم ولی زمانی که بخوام تبدیلش کنم به کاراکتر ، دچار مشکل می شم ... پیش فرض هم استفاده نکردن از آرایه ها و توابع هست ....

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote]
این تمرین کتاب می گه یک عدد را بگیرید ، و بعد معکوسش رو چاپ کنید . تا اینجا مشکلی نداره و کارش رو ردیف کردم ولی زمانی که بخوام تبدیلش کنم به کاراکتر ، دچار مشکل می شم ... پیش فرض هم استفاده نکردن از آرایه ها و توابع هست ....
[/quote]
هر کدوم از ارقام رو با 48 جمع کنید (کد کاراکتر 0 - '0') و بریزید تو یه متغیر کاراکتر

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='100' timestamp='1374349368' post='322834']
سلام

برای سی پلاس پلاس ، تابعی هست که عدد رو یکی یکی بگیره و به رشته وصلشون کنه !؟ ( یا یک عدد رو به صورت کاراکتر در بیاره ... مثلا 1521 رو یکباره به کاراکتر تبدیل کنه )

این آرایه ی پویا که نیاز نباشه از اول تعداد عناصرش رو براش تعریف کرد ...

این تمرین کتاب می گه یک عدد را بگیرید ، و بعد معکوسش رو چاپ کنید . تا اینجا مشکلی نداره و کارش رو ردیف کردم ولی زمانی که بخوام تبدیلش کنم به کاراکتر ، دچار مشکل می شم ... پیش فرض هم استفاده نکردن از آرایه ها و توابع هست ....
[/quote]

میتونید از تابع itoa_ استفاده کنید. البته یه مقدار کار باهاش سخته. راه دیگه همون راهیه که جناب "های تک" گفتن.

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='100' timestamp='1374349368' post='322834']
سلام

برای سی پلاس پلاس ، تابعی هست که عدد رو یکی یکی بگیره و به رشته وصلشون کنه !؟ ( یا یک عدد رو به صورت کاراکتر در بیاره ... مثلا 1521 رو یکباره به کاراکتر تبدیل کنه )

این آرایه ی پویا که نیاز نباشه از اول تعداد عناصرش رو براش تعریف کرد ...

این تمرین کتاب می گه یک عدد را بگیرید ، و بعد معکوسش رو چاپ کنید . تا اینجا مشکلی نداره و کارش رو ردیف کردم ولی زمانی که بخوام تبدیلش کنم به کاراکتر ، دچار مشکل می شم ... پیش فرض هم استفاده نکردن از آرایه ها و توابع هست ....
[/quote]
سلام دوست عزیز
تا همونجایی که کارش رو ردیف کرده اید رو اینجا بگذارید تا برای بقیه اش همه نظراتشان را بگویند.
از نظر من ساده ترین راه برای این کار این است که شما عدد رو به صورت کاراکتری بگیرید و بعد برعکس چاپش کنید.
یه چیزی مثل این
[code]

#include<stdio.h>
#include <string.h>

int main()
{

char number[10],rnumber[10];
printf("enter your number : ");
scanf("%s", &number);
for (int i=0 ; i<strlen(number) ; i++)
rnumber[strlen(number)-i-1] = number[i];
printf("your reverse number is : %s",rnumber);

}
[/code] ویرایش شده در توسط oldmagina

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote]
از نظر من ساده ترین راه برای این کار این است که شما عدد رو به صورت کاراکتری بگیرید و بعد برعکس چاپش کنید.
[/quote]
معمولا صورت این مسائل اینگونه هست که عدد بگیرد نه کاراکتر
برای اینکار هم باید عدد را بطور متوالی بر 10 تقسیم کنیم و باقیمانده را بگیریم، به اینصورت تک تک ارقام بدست میآید همزمان همان رقم را در 10 (به توان مکان آن) ضرب میکنیم تا عدد معکوس بدست آید..راحت بود نه :mrgreen:

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='hightech' timestamp='1374407128' post='322989']
[quote]
از نظر من ساده ترین راه برای این کار این است که شما عدد رو به صورت کاراکتری بگیرید و بعد برعکس چاپش کنید.
[/quote]
معمولا صورت این مسائل اینگونه هست که عدد بگیرد نه کاراکتر
برای اینکار هم باید عدد را بطور متوالی بر 10 تقسیم کنیم و باقیمانده را بگیریم، به اینصورت تک تک ارقام بدست میآید همزمان همان رقم را در 10 (به توان مکان آن) ضرب میکنیم تا عدد معکوس بدست آید..راحت بود نه :mrgreen:
[/quote]
سلام
در این صورت اول شما باید بزرگترین مکان دهدهی عدد را مشخص کنید و بعد این پروسه را شروع کنید .
میشه کدی برای این روشی که میگید ، بذارید ؟

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[CODE]
int x = 7204853214;
int y = x;
int z = 0,m = 0;
while(y > 0){
m = y % 10;
y = (int)(y / 10);
z = z * 10 + m;
}

[/CODE]
x ورودی و z خروجی
حتما تست كنيد

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
سلام

این کدی که برای برنامه نوشتم ...
هدف هم چاپ معکوس عدد بود .... البته فکر کنم برای اینکه عدد مورد نظر رو ذخیره کنیم باید همین یک خط کد برنامه جناب hightec رو اضافه کنیم ...

من همیشه راحت ترین راه رو انتخاب می کنم ...

[left][CODE]
int f, n ;
printf("please enter an integer :" );
cin >>n ;
while (n>0)
{
f =(n%10);
n /= 10;
cout<<f;
}
cout <<endl ;
_getch;
return 0;
[/CODE][/left]


اینم برنامه برای به دست آوردن ب.م.م توسط الگوریتم اقلیدس یا ارسطو هست ... ( معمولا با استفاده توابع بازگشتی این رو به دست می آورند )

اصل برنامه و الگوریتم در حلقه ی While دوم هست ... گذاشتم شاید به درد کسی خورد ...

[left][size=3][CODE]
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std ;[/size][/left]
[size=3]int _tmain(int argc, _TCHAR* argv[])
{
int min , max , bmm , i , j ;
printf("please enter two numbers : ");
cin >> max >>min ;
cout <<"( " <<max << "," << min <<" ) ==> Bmm == > " ;
if (min >max )
{ int temp = max;
min = max ;
max =temp ;
}
while (min != 0 )
{
i = (max%min);
j= min;
max =j ;
min =i ;
}
cout <<"( " <<max << "," << min <<" ) " << endl;
_getch();
return 0;
}[/size]
[size=3][/CODE][/size]


کلا جالبه ... پایتون یک تابع به نام srt داره که با گرفتن عدد به رشته ی کاراکتری تبدیلش می کنه ولی سی پلاس پلاس ....

فکر کنم خود تابع Str رو با زبان سی نوشتن ... ویرایش شده در توسط 100

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
اون اولای تاپیک همین برنامه معکوس کننده رو نوشتیم. خواستی یه نگاهی بنداز.

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='Electro_officer' timestamp='1374412211' post='323014']
اون اولای تاپیک همین برنامه معکوس کننده رو نوشتیم. خواستی یه نگاهی بنداز.
[/quote]

سلام
البته اون اوایل تایپیک رو خوندم ولیکن بیشتر با زبان سی شارپ بود که زیاد متوجه نمی شدم .... البته به جز Writeln و readln ...

شنیدم هر کی سی پلاس رو یاد بگیره عملا با سی شارپ مشکل خاصی نخواهد داشت به جزء حفظ کردن syntax اون ...

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر
[quote name='100' timestamp='1374413725' post='323024']
[quote name='Electro_officer' timestamp='1374412211' post='323014']
اون اولای تاپیک همین برنامه معکوس کننده رو نوشتیم. خواستی یه نگاهی بنداز.
[/quote]

سلام
البته اون اوایل تایپیک رو خوندم ولیکن بیشتر با زبان سی شارپ بود که زیاد متوجه نمی شدم .... البته به جز Writeln و readln ...

شنیدم هر کی سی پلاس رو یاد بگیره عملا با سی شارپ مشکل خاصی نخواهد داشت به جزء حفظ کردن syntax اون ...
[/quote]
قسمت اول بحثها اینجا جا مونده . برنامه مورد نظر الکترو اینجاست [url="http://www.military.ir/forums/topic/21454-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%88-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-%D9%88-%D8%B4%D8%A8%DA%A9%D9%87/page__st__405"]http://www.military....ه/page__st__405[/url]


[quote name='hightech' timestamp='1374410357' post='323004']
[CODE]
int x = 7204853214;
int y = x;
int z = 0,m = 0;
while(y > 0){
m = y % 10;
y = (int)(y / 10);
z = z * 10 + m;
}

[/CODE]
x ورودی و z خروجی
حتما تست كنيد
[/quote]
الگوریتم منطقی و جالبیه . به من که چسیبید . ممنون


[quote name='100' timestamp='1374411773' post='323011']
کلا جالبه ... پایتون یک تابع به نام srt داره که با گرفتن عدد به رشته ی کاراکتری تبدیلش می کنه ولی سی پلاس پلاس ....

فکر کنم خود تابع Str رو با زبان سی نوشتن ...
[/quote]

یه سری به اینجا بزن :
[url="http://www.cplusplus.com/articles/D9j2Nwbp/"]http://www.cplusplus.com/articles/D9j2Nwbp/[/url] ویرایش شده در توسط oldmagina
  • Upvote 1

به اشتراک گذاشتن این پست


لینک به پست
اشتراک در سایت های دیگر

ایجاد یک حساب کاربری و یا به سیستم وارد شوید برای ارسال نظر

کاربر محترم برای ارسال نظر نیاز به یک حساب کاربری دارید.

ایجاد یک حساب کاربری

ثبت نام برای یک حساب کاربری جدید در انجمن ها بسیار ساده است!

ثبت نام کاربر جدید

ورود به حساب کاربری

در حال حاضر می خواهید به حساب کاربری خود وارد شوید؟ برای ورود کلیک کنید

ورود به سیستم

  • مرور توسط کاربر    0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.