سئوالات و مشکلات برنامه نویسی به زبان C و ++C

software eng

کاربر حرفه ای
کاربر ممتاز
#include<stdio.h>
#include<conio.h>
#include"stdafx.h"
void main(){
int i,j;
char x;
for(i=1;i<=4;i++){
for(j=7;j>=2*i;j--)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
scanf("%c",&x);
}
جواب دوست عزیز:ramin63007
البته من تا خط چهارمش نوشتم!!که میتونیi رو به 5 تغییر بدی و j روهم براساس اون تغییر بدی.چون من این پست رو دیشب دیدم و امروز برنامشو نوشتم فک کردم برنامه تا خط چهارمش بود!
 
آخرین ویرایش:

tito11

عضو جدید
سلام
اگه بخوایم اعدادی رو که در فایلی در پوشه ای بصورت زیر 12,34,89,56 ذخیره شده اند را در برنامه بخوانیم و انها را در یک ارایه قرار دهیم چی کار می کنیم؟
من کار با فایل رو بلد نیستم تو کتابا هم بصورت char نوشته. اگه میشه راهنماییم کنین. ممنون
 

antengogoli21

عضو جدید
کسی میتونه بگه برنامه ای که دورشته رو از کاربر بگیره و بگه رشته دوم زیر رشته رشته اول هست یا نه چجوریه البته بدون استفاده از تابع !؟تو رو خدا کمکم کنید:(
 

.SHaDi

عضو جدید
سلام..چندتا برنامه هست اگه میشه توضیح بدین.
اسونه ولی من بلد نیستم..این ترم برداشتم پشیمون شدم.
1.خروجی برنامه زیر چیست؟
()main
{unsigned char c,
c=100*4
,"printf("%d
c)
{


2.میخوام دونم اگر x=123/456 fhai
%7f??
%7/3f چی میشه؟
 
آخرین ویرایش:

maede92

عضو جدید
سلام. کسی میتونه واسه این برنامه کمکم کنه؟
میخواهیم یک لیست پیوندی کامل برای انجام اعمال حسابی بر روی ماتریس های اسپارس با استفاده از نمایش لیست پیوندی ارائه دهیم. سپس اعمال زیر را روی این لیست پیاده سازی کنیم:
1. تشکیل گره های لیست با استفاده از ماتریس اسپارس
2. دو ماتریس اسپارس را با هم جمع کنید
3. تفاضل دو ماتریس اسپارس را محاسبه کنید
4. دو ماتریس اسپارس را در هم ضرب کنید
 

mrtza_eng

عضو جدید
سلام اگه میشه این دوتا برنامه رو برام بنویسید به زبان ++C
1.برنامه ای بنویسید که سال و ماه تولد شما را پشت سر هم از ورودی بگیرد وسپس سال را از ماه جدا کند و هر دورا چاپ کند
2.برنامه ای بنویسید که عدد صحیح nرا از ورودی بگیرد واولین مربع کامل بزرگتر ازnرا چاپ کند
خواهشا لازم دارم

سلام من الگوریتم سوالت رو میگم خودت بنویسش
سوال اولت اینه که سال و ماه تولد رو بگیره مثل این 7106 بگه شما متولد سال 71 و ماه 06 هستید ؟؟؟؟ اگه سوال همین باشه الگوریتمش اینه
اول عدد وارد شده رو تقسیم به 100 میکنی میریزیش توی یه متغییر int و چون int اعشارو در نظر نمیگیره 71.06 تبدیل میشه به 71 و سال بدست میاد
بعد 71 رو ضرب در 100 میکنی میشه 7100 و از عدد اولیه کم میکنی 7100 - 7106 که جواب میشه 6 و ماه بدست میاد

سوال دوم

while(1)
{
n +=1;
float1=sqrt(n);
int1=float1;
if(float1==int1)
break;
}
printf("%d",n);
return 0;

امیدوارو تونسته باشم کمکت کنم :*
 
  • Like
واکنش ها: H>T

some1

عضو جدید
کاربر ممتاز
سلام. کسی میتونه واسه این برنامه کمکم کنه؟
میخواهیم یک لیست پیوندی کامل برای انجام اعمال حسابی بر روی ماتریس های اسپارس با استفاده از نمایش لیست پیوندی ارائه دهیم. سپس اعمال زیر را روی این لیست پیاده سازی کنیم:
1. تشکیل گره های لیست با استفاده از ماتریس اسپارس
2. دو ماتریس اسپارس را با هم جمع کنید
3. تفاضل دو ماتریس اسپارس را محاسبه کنید
4. دو ماتریس اسپارس را در هم ضرب کنید

این جمعشه:

#include<iostream.h>
class matrixterm
{
public:
int row,col,value ;
};
class sparsmatrix
{
public:
int rows ,cols ,terms;

matrixterm smarray[100];
sparsmatrix sparsmatrix::transpose();
sparsmatrix sparsmatrix::sum(sparsmatrix b);
void sparsmatrix::print();
};



sparsmatrix sparsmatrix::transpose()
{
sparsmatrix b;
b.rows=cols;
b.cols=rows;
b.terms=terms;
int correntb=0;
for(int c=0;c<cols;c++)
{
for (int i=0;i<terms;i++)
{
if(smarray.col==c)
{
b.smarray[correntb].row=c ;
b.smarray[correntb].col=smarray[c].row ;
b.smarray[correntb].value=smarray.value ;
correntb++;
}

}
}
return b;
}


sparsmatrix sparsmatrix::sum(sparsmatrix b)
{
sparsmatrix c;
c.rows=rows;
c.cols=cols;

int term=0;

for(int i=0; i<terms;)
{
for (int j=0;j<b.terms;)
{
if (smarray.row<b.smarray.row)
{
c.smarray[term].row=smarray.row;
c.smarray[term].col=smarray.col;
c.smarray[term].value=smarray.value;
i++;
term++;}
else if(smarray.row>b.smarray[j].row)
{
c.smarray[term].row=smarray[j].row;
c.smarray[term].col=smarray[j].col;
c.smarray[term].value=smarray[j].value;
j++;
term++;}
else{ if(smarray.col<b.smarray[j].col)
{
c.smarray[term].row=smarray.row;
c.smarray[term].col=smarray.col;
c.smarray[term].value=smarray.value;
i++;
term++;
}
else if (smarray.col>b.smarray[j].col)
{
c.smarray[term].row=smarray[j].row;
c.smarray[term].col=smarray[j].col;
c.smarray[term].value=smarray[j].value;
j++;
term++;
}
else { c.smarray[term].row=smarray.row;
c.smarray[term].col=smarray.col;
c.smarray[term].value=smarray.value+b.smarray.value;
i++;
j++;
term++;
} } } }
return c; }




void main()
{
sparsmatrix a;
sparsmatrix c;
sparsmatrix b;
a.rows=3;
a.cols=4;
a.terms=5;
a.smarray[0].row=0 ;
a.smarray[0].col=1;
a.smarray[0].value=5;
a.smarray[1].row=1;
a.smarray[1].col=2;
a.smarray[1].value=3;
a.smarray[1].row=1;
a.smarray[1].col=3;
a.smarray[1].value=2;
a.smarray[2].row=2;
a.smarray[2].col=0;
a.smarray[2].value=6;
a.smarray[2].row=2;
a.smarray[2].col=2;
a.smarray[2].value=4;

sparsmatrix f;
f.rows=3;
f.cols=4;
f.terms=5;
f.smarray[0].row=0 ;
f.smarray[0].col=1;
f.smarray[0].value=5;
f.smarray[1].row=1;
f.smarray[1].col=2;
f.smarray[1].value=3;
f.smarray[1].row=1;
f.smarray[1].col=3;
f.smarray[1].value=2;
f.smarray[2].row=2;
f.smarray[2].col=0;
f.smarray[2].value=6;
f.smarray[2].row=2;
f.smarray[2].col=2;
f.smarray[2].value=4;
//b=a.transpose();
//b=f.transpose();
a.print();
f.print();
c=a.sum(f);
c.print();


}

void sparsmatrix::print()
{
int corrent=0;

for (int i=0;i<rows;i++)
{
for (int j=0;j<cols;j++)
{
if (smarray[corrent].row==i && smarray[corrent].col==j)
{
cout<<smarray[corrent].value<<"\t";
corrent++;
}
else
cout<<"0\t";
}cout<<"\r\n";
}

}



 

ashkanhpb

کاربر بیش فعال
سلام..چندتا برنامه هست اگه میشه توضیح بدین.
اسونه ولی من بلد نیستم..این ترم برداشتم پشیمون شدم.
1.خروجی برنامه زیر چیست؟
()main
{unsigned char c,
c=100*4
,"printf("%d
c)
{


2.میخوام دونم اگر x=123/456 fhai
%7f??
%7/3f چی میشه؟

واسه سول 1 واقعا نمی دونم چی بگم چون کدها یه جوریه :1- c یک کاراکتره اما شما با یک عدد به اون ورودی دادید (درسته که شاید بتونه عدد رو به عنوان کاراکتر بگیره اما من در c دستور تکرار ندیدم اما شاید کامپایلرهای turbo و dev که در اصل مال C نیستن این آپشن رو اضافه کرده باشن) پس تا اینجا رو نادیده میگیرم .
در دستور چاپ هنگامی که شما برای چاپ کاراکتر فرمت d رو به کار میگیرید (که تنها مخصوص اعداد integer است) عبارت چاپ شده یک عدد می شود که همان کد اسکی مربوط به رشته (کاراکتری که درون c است) مربوطه می باشد .

سوال 2 : x یک floating point یا همان عدد ممیز شناور (اعشاری) است که مقدار آن برابر0.2697368 است (این مقدار برای نوع float است که تنها 7 رقم اعشار می گیرد ) .
عبارت اولی (%7f)بی تاثیر بوده و این نوع میدان دهی به اعداد اعشاری غلط است .
عبارت دوم که باید بین 7 و 3 ممیز انگلیسی "." نوشته شود این کار را برای شما انجام می دهد :
1 : 3 جای خالی را برای اعداد اعشار در نظر می گیرد و آن را گرد می کند که برابر 270 می شود .
2: یک جای خالی برای ممیز در نظر می گیرد .
3 : چون مقدار اعداد صحیح "0" یکی است و از مقدار میدان باقیمانده یعنی 3 کمتر است پس میدان اعمال می شود و از محل نشانگر تایپ در جای اولی 2 تا به جلو میرود و چاپ می کند "0"
4: پس از "0" فورا چاپ میکند ".270 " البته ببخشید برعکس شد . در آخر این پایینیه جوابه اگر "-" رو جا خالی فرض کنی و از راست حساب کنی .
0.270--
 

NAZIY0

عضو جدید
سلام دوستان.:smile:يك برنامه دادن بهمون كه بايد در وست صفحه خروجي يك ستاره چاپ بشه و با زدن كليداي حركت نما كيبورد(بال.پايين.چپ.راست) حركت كنه.اين كليداي حركت نما تو CوC++ چطوري بايد تعريف شه؟
 

mrtza_eng

عضو جدید
سلام دوستان.:smile:يك برنامه دادن بهمون كه بايد در وست صفحه خروجي يك ستاره چاپ بشه و با زدن كليداي حركت نما كيبورد(بال.پايين.چپ.راست) حركت كنه.اين كليداي حركت نما تو CوC++ چطوري بايد تعريف شه؟

سلام هر کلید یک کد داره میتونید از این کد ها استفاده کنید مثلا 75 کد کلید چپه 72 بالا 77 راست و 80 پایین
 
آخرین ویرایش:

maede92

عضو جدید
سلام. کسی میتونه واسه این برنامه کمکم کنه؟
میخواهیم یک لیست پیوندی کامل برای انجام اعمال حسابی بر روی ماتریس های اسپارس با استفاده از نمایش لیست پیوندی ارائه دهیم. سپس اعمال زیر را روی این لیست پیاده سازی کنیم:
1. تشکیل گره های لیست با استفاده از ماتریس اسپارس
2. تفاضل دو ماتریس اسپارس را محاسبه کنید
3. دو ماتریس اسپارس را در هم ضرب کنید
 

شهریاری 2

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

ramin63007

عضو جدید
سلام
کسی میتونه توی حل این تمرینات کمکم کنه؟؟؟
برنامه ای که تعدادیn ورودی در آرایه ای قرار دهد و بدون استفاده از آرایه ی دیگری را معکوس کند؟
تعدادی عدد را بخواند در آرایه قرار دهد و تعیین کند از ه عدد چه تعداد در آرایه وجود دارد؟
نام و معدل تعدادی دانشجورا بهواند و 5 دانشجویی که بالاترین معدل راکسب کرده به ترتیب معدل در خروجی چاپ کند؟

من منظور از آرایه رو نمیفهمم؟؟؟میشه بگین چیه؟؟
لطفا به زبان ساده باشه
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلام
کسی میتونه توی حل این تمرینات کمکم کنه؟؟؟
برنامه ای که تعدادیn ورودی در آرایه ای قرار دهد و بدون استفاده از آرایه ی دیگری را معکوس کند؟
تعدادی عدد را بخواند در آرایه قرار دهد و تعیین کند از ه عدد چه تعداد در آرایه وجود دارد؟
نام و معدل تعدادی دانشجورا بهواند و 5 دانشجویی که بالاترین معدل راکسب کرده به ترتیب معدل در خروجی چاپ کند؟

من منظور از آرایه رو نمیفهمم؟؟؟میشه بگین چیه؟؟
لطفا به زبان ساده باشه

آرایه یعنی اینکه ، یه متغیری که میشه به جای یک عدد، چندین عدد رو داخلش نگه داشت.مثل یک آپارتمان که میشه توی بیست متر زمین، یه برج ساخت بعد 100 نفر برن توش زندگی کنن.
int x=0;
فقط یه خونه از حافظه تعریف میکنه بعد 0 رو میزاره داخلش.
int x[9] ;
یعنی اینکه یه اپارتمان به نام x رو اجاد میکنه که ده تا واحد داره.(چون شماره واحدا از صفر شروع میشه، تا 9 بشماری میشه ده تا واحد)
یعنی ده تا خونه پشت سر هم توی حافظه که خالی هستن رو اختصاص میده به کار شما که چون پشت سر هم هست، بهشون میگن آرایه.

حالا سوال اول میگه که یه آپارتمان بساز که n تا واحد داشته باشه(n تا خانه از حافظه رو که پشت سر هم هستن رو در اختیار من قرار بده) که اگر مثلا توی واحداش، عدد باشن بعد این اعداد از بزرگ به کوچیک قرار بگیرنیعنی اول 10 ، بعد 9، بعد 8 و... تا 1، یه کاری کن که برعکس بشه ترتیبشون، یعنی از کوچیک به بزرگ باشه.

چون الان خسته ام ، وقت برنامه نوشتن رو ندارم. ایشالا دوستان دیگه بهت میگن
حالا خودتم روش یه کم فکرکن. اول روی کاغذ ببین کامپیوتر باید چه کارایی انجام بده که این اتفاق بیفته بعد دستوراش رو به کامپیوتر دیکته کن.

امیدوارم تونسته باشم مفهوم آرایه رو بهت رسونده باشم.
 

NAZIY0

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

شهریاری 2

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

اینم برنامه اولی!
دومی رو نمیدونم.
PHP:
int main()
{
int a;
  int sum=0;
cin>>a;
while(a!=){
R=a%10;
a/=10;
sum+=R;}
cout<<"hasel= "<<sum;
}


شرط حلقه رو هم خودت زحمتشو بکش
 
آخرین ویرایش:

Farnaz1373

عضو جدید
سلام من یه سوال دارم: برنامه ای بنویسید که 10 عدد دریافت کند و مشخص کند کدام از بقیه بیشتر تکرار شده و دفعات تکرار هم نشون بده ...
میشه لطفا کمک کنید و توضیح بدین من چه جوری اینو بنویسم؟؟!؟
 

NAZIY0

عضو جدید
سلام من یه سوال دارم: برنامه ای بنویسید که 10 عدد دریافت کند و مشخص کند کدام از بقیه بیشتر تکرار شده و دفعات تکرار هم نشون بده ...
میشه لطفا کمک کنید و توضیح بدین من چه جوری اینو بنویسم؟؟!؟
خوب حداقل مشخص كن با استفاده از ارايه ميخواي يا نه؟
 

ashkanhpb

کاربر بیش فعال
سلام من یه سوال دارم: برنامه ای بنویسید که 10 عدد دریافت کند و مشخص کند کدام از بقیه بیشتر تکرار شده و دفعات تکرار هم نشون بده ...
میشه لطفا کمک کنید و توضیح بدین من چه جوری اینو بنویسم؟؟!؟

از جستجوی ترتیبی در آرایه (جستجوی ترتیبی که خودش یه الگوریتم مدونه) استفاده کنید و برای هر شرط درست یکی بشمرید (کانتر)
 

ashkanhpb

کاربر بیش فعال
سلام من تو دو تا برنامه گیر کردم یکم کمک میخوام اولیش اینه که بدون کمک اراییه ها جمع ارقام یک چند رقمی رو به دست بیاریم.میدونم که باید تقسیم بر 10 کنم ولی برنامش درست از اب در نمیاد.برنامه بعدیشم اینه که یک ستاره تو خروجی چاپ بشه بعد با استفاده از کلیدای حرکت نما حرکت کنه.
می تونید ابتدا یه ستاره رو در جایی که اونو مبدا انتخاب کردید چاپ کنید بعد با استفاده از getch از کلیدهای پیمایش ورودی بگیرید (هر کلید یک کاراکتر منحصر بفرد در کدهای ascii دارد ) حال مقدار رو switch..case کنید و آن را از نظر برابر بودن با کد کدام جهت بسنجید و برابر هر مد بود با اولین دستور که clrscr باشد صفحه رو پاک کنید و ستاره ای دیگر بنا به در نظر گرفتن دکمه جدید بزنید .
 

ashkanhpb

کاربر بیش فعال
می تونید ابتدا یه ستاره رو در جایی که اونو مبدا انتخاب کردید چاپ کنید بعد با استفاده از getch از کلیدهای پیمایش ورودی بگیرید (هر کلید یک کاراکتر منحصر بفرد در کدهای ascii دارد ) حال مقدار رو switch..case کنید و آن را از نظر برابر بودن با کد کدام جهت بسنجید و برابر هر مد بود با اولین دستور که clrscr باشد صفحه رو پاک کنید و ستاره ای دیگر بنا به در نظر گرفتن دکمه جدید بزنید .

int s; s=getch() a

Left Arrow
37
0
Up Arrow
38
0
Right Arrow
39
0
Down Arrow
40
0
 

ashkanhpb

کاربر بیش فعال
اينجا رو نميفهمم.يكم بيشتر توضيح بديد لطفا.

مثلا اولین ستاره در ابتدای برنامه بعد از سه فاصله (کاراکتر خالی space ) چاپ شده ، کلید چپ رو زدیم حال بعد از درست در آمدن شرط کلید سمت چپ با clrscr کل صفحه رو پاک می کنی و بعد از دو فاصله (جاخالی) یک ستاره چاپ می کنی (بنابر یک کلید سمت چپ یک فاصله کم می شود) . مقادیر کلید های پیمایش رو هم گذاشتم که مقادیر صحیح اند با اون صفر ها کاری نداشته باش
 

hamidreza90

عضو جدید
سلام دوستان
ببخشید کسی میتونه کمکم کنه این برنامه رو بنویسم؟؟؟
یک ویرایشگر متن که امکان درج یک کلمه را در یک موقعیت خاص متن، یا حذف یک کلمه خاص
از متن را داشته باشد.
 

NAZIY0

عضو جدید
int s; s=getch() a

Left Arrow
37
0
Up Arrow
38
0
Right Arrow
39
0
Down Arrow
40
0
من الان گيج بزنم !!!!!!!!!!!!!!:w20:من واسه عدداي كليداي حركت نما همينجا پرسيدم و يك سري ععد ديگه دادن!!!!!!!!الان اين عددا واسه c++درسته يا نه؟؟؟
 

Similar threads

بالا