-
تمرین های زبان برنامه نویسی ++C
سلام به تمامی دوستان من این تاپیک رو برای دوستانبرنامه نویسیه زبان C++ زدم و امید واروم کهبرنامه نویسان به زبانC++ بیان و در این تاپیک مثل تا پیک C فعالیت کنند و یک نفر هم مسولیت آموزش این بخش رو به عهده بگیره.قوانین هم مثل قوانین تاپیک C هست .
با تشکر سید مهدی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
اگر میشه تو این تاپیک یکم اموزش هم باشه من اصلا cppبلد نیستم
دوست دارم یاد بگیرم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
کسی حاضر نیست مسئولیت آموزش این بخش رو بعهده بگیره؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
واسه اینکه این تایپیک زیر خاک مدفون نمیشه علی الحساب اینو بنویسید تا یه صاحابی واسه تایپیک پیدا شه :دی
برنامه ای بنویسید که اسم شما را در خروجی مثل نمونه زیر چاپ کند
-
++c
سلام
من تا حدودی با ++c کار کردم میتونم آموزش و تمارین مختصری بذارم رو سایت و اگه کسی سوالی داشت کمکش کنم.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام به دوستان یعنی واقعا زبان C++ این قدر کم طرفدار در بین برنامه نویسان که از این تاپیک استقبالی نشد یعنی کسی نمی خواد مسولیت آموزش این بخش رو مثل بخش C به عهده بگیره خواهشا یک نفر بیاد و این لطف رو بکنه و همه بتونیم از این فرصت خوب برای آموزش استفاده کنیم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
با اجازتون من یک سوال میگم تا حلش کنیم
سوال:
برنامه ای بنویسید تا یک مستطیل/بیضی/پیکان{علامت فلش}/لوزی را در کنار هم با کمی فاصله رسم کند؟{این مثال گرفته شده از کتاب دیتل است/راستش خودم نتونستم حلش کنم}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
با استفاده از چه چیزی اینو حل کنیم با استفاده از گرافیک؟ یا محیط متنی ؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
با عرض سلام خدمت دوستان عزیز
به نظرم کار خوبیه ، من که چیز زیادی بلد نیستم ولی تا اونجایی که از دستم بر بیاد و بلد باشم در خدمتم
اگه دوستان موافقند از پست بعدی با همدیگه شروع کنیم به یادگیری C++ ، البته توی این کار همه (مخصوصا مدیران بخش) باید کمک کنند تا یه بحث منسجم و مفیدی از آب در بیاد
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
با ستاره درستش کنید{داخل کتاب گفته با ستاره}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
کسی نتونسته حلش کنه{منم نتونستم:عصبانی++:}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
این جا تاپیک خیلی خوبیه، ولی اصلا هیچ کس فعالیت نمیکنه.
من کدم میذارم ولی نتونستم شکل بیضی رو رسم کنم، حالا ببینید درسته:متفکر:
#include<iostream>
using namespace std;
void main()
{
//rectangle
for (int i=0;i<4;i++)
{
if (i==0||i==3)
{
for (int j=0;j<5;j++)
cout<<"* ";
cout<<endl;
}
else
{ for (int j=0;j<2;j++)
{
cout<<"*";
for (int space=0;space<7;space++)
cout<<" ";
}
cout<<endl;
}
}
cout<<endl;
//beyzi???
//peykan
int x=1,t=0,j;
for (int i=0;i<5;i++)
{
for (j=0;j<x;j++)
cout<<"* ";
if (x<3&&t==0)
x++;
if (t==1)
x--;
cout<<endl;
if(j==3)
{
x=2;
t++;
}
}
//lozi
x=3;
int y=1;
for (int i=0;i<7;i++)
{
if (i<4)
{
for (int j=0;j<x;j++)
cout<<" ";
x--;
if (i==0)
cout<<"*";
else
{
cout<<"*";
for(int j=0;j<y;j++)
cout<<" ";
cout<<"*";
y+=2;
}
cout<<endl;
}
else
{
if (i==4)
x=1,y=3;
for (int j=0;j<x;j++)
cout<<" ";
x++;
if (i==6)
cout<<"*";
else
{
cout<<"*";
for(int j=0;j<y;j++)
cout<<" ";
cout<<"*";
y-=2;
}
cout<<endl;
}
}
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوست عزیز
من اولین بارمه دارم یه جا سوال میدم نمیدونم چرا دارم اینقدر گاف میدم{بزرگ میشم یاد میگیرم:کف:}
تو کتاب گفته افقی نه عمودی
راستی شما #include"stdafx.h"
را یادت رفته
ولی خوب بود
امیدوارم هر چی زودتر این تاپیک پا بگیره تا ما هم راه بیفتیم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
farid_mov2006
سلام دوست عزیز
من اولین بارمه دارم یه جا سوال میدم نمیدونم چرا دارم اینقدر گاف میدم{بزرگ میشم یاد میگیرم:کف:}
تو کتاب گفته افقی نه عمودی
راستی شما
#include"stdafx.h"
را یادت رفته
ولی خوب بود
امیدوارم هر چی زودتر این تاپیک پا بگیره تا ما هم راه بیفتیم
چرا باید اینو بنویسم، راستش من اصلا نمیدونم این چی هست؟:متفکر::گیج:
من بیضی رو نتونستم بنویسم، هر کی بلده بگه یا یه راهنمایی بکنه.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
شما بگو تا روی یه چیز دیگه کار کنیم
راستش من نتونستم اینو حلش کنم میخواستم یاد بگیرم
سوال بده تا حل کنیم/از مبتدی تا پیشرفته/
-
نقل قول: تمرین های زبان برنامه نویسی ++C
به نظر من سوال های acm را حل کنیم، هم یه چیزی یاد می گیریم هم واسه آیندمونم هم خوبه، می تونیم از ساده شروع کنیم و با هم بریم جلو.....
-
نقل قول: تمرین های زبان برنامه نویسی ++C
اگه سوال دارین بدین تا حل کنیم
از ساده تا پیشرفته/acmهم میخواین بدین/
-
1 ضمیمه
نقل قول: تمرین های زبان برنامه نویسی ++C
اینم یه سوال فکر کنم آسون، هر کی زودتر حل کرد بذاره بقیه هم ببینند
-
نقل قول: تمرین های زبان برنامه نویسی ++C
من این فایل ضمیمه را گرفتم اما چیزی توش نیست /نمیشه سوال را خودتون مطرح کنید/3بار گرفتم اما.....
-
نقل قول: تمرین های زبان برنامه نویسی ++C
محتویات فایل و سوال:
You have a necklace of N red, white, or blue beads (3<=N<=350) some of which are red, others blue, and others white, arranged at random. Here are two examples for n=29:
1 2 1 2
r b b r b r r b
r b b b
r r b r
r r w r
b r w w
b b r r
b b b b
b b r b
r r b r
b r r r
b r r r
r r r b
r b r r r w
Figure A Figure B
r red bead
b blue bead
w white bead
The beads considered first and second in the text that follows have been marked in the picture.
The configuration in Figure A may be represented as a string of b's and r's, where b represents a blue bead and r represents a red one, as follows: brbrrrbbbrrrrrbrrbbrbbbbrrrrb .
Suppose you are to break the necklace at some point, lay it out straight, and then collect beads of the same color from one end until you reach a bead of a different color, and do the same for the other end (which might not be of the same color as the beads collected before this).
Determine the point where the necklace should be broken so that the most number of beads can be collected.
Example
For example, for the necklace in Figure A, 8 beads can be collected, with the breaking point either between bead 9 and bead 10 or else between bead 24 and bead 25.
In some necklaces, white beads had been included as shown in Figure B above. When collecting beads, a white bead that is encountered may be treated as either red or blue and then painted with the desired color. The string that represents this configuration will include the three symbols r, b and w.
Write a program to determine the largest number of beads that can be collected from a supplied necklace.
PROGRAM NAME: beads
INPUT FORMAT
Line 1:
N, the number of beads
Line 2:
a string of N characters, each of which is r, b, or w
SAMPLE INPUT (file beads.in)
29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
OUTPUT FORMAT
A single line containing the maximum of number of beads that can be collected from the supplied necklace.
SAMPLE OUTPUT (file beads.out)
11
OUTPUT EXPLANATION
Consider two copies of the beads (kind of like being able to runaround the ends). The string of 11 is marked.
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
****** *****
-
نقل قول: تمرین های زبان برنامه نویسی ++C
من خودم به جواب نرسيدم، ولي يکي تو تاپيک الگوريتم جوابشا گذاشت، اگه رو جوابشم يکم تحليل کنيم خوبه .....
/*
ID: amir.ju1
LANG: C++
TASK: beads
*/
//Author: Amir Joudaki
#include <iostream>
using namespace std;
int Break_R(char *beads, int k, int len) {
char c = beads[k];
int i = 0;
while(beads[k]=='w' && i<len) {
k = k < len-1 ? k+1 : 0;
i++;
}
c = beads[k];
while((beads[k]==c || beads[k]=='w') && i < len) {
i++;
k = k < len-1 ? k+1 : 0;
}
return i;
}
int Break_L(char *beads, int k, int len) {
k = k > 0 ? k-1 : len-1;
char c = beads[k];
int i = 0;
while(beads[k]=='w' && i<len) {
k = k > 0 ? k-1 : len-1;
i++;
}
c = beads[k];
while((beads[k]==c || beads[k]=='w') && i < len) {
i++;
k = k > 0 ? k-1 : len-1;
}
return i;
}
int Break(char* beads, int k, int len) {
int r = Break_R(beads, k, len),
l = Break_L(beads, k, len);
if( r + l >= len )
return len;
else
return r + l;
}
int main() {
FILE *fin, *fout;
fin = fopen("beads.in", "r");
fout = fopen("beads.out", "w");
int N, // number of beads
collectedBeads,
max = 0;
fscanf(fin, "%d", &N);
char* beads = new char[N+1]; // the beads
fscanf(fin, "%s", beads);
for(int i=0; i<N; i++) {
collectedBeads = Break(beads, i, strlen(beads));
max = max > collectedBeads ? max : collectedBeads;
}
fprintf(fout, "%d\n", max);
return 0;
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
farid_mov2006
من این فایل ضمیمه را گرفتم اما چیزی توش نیست /نمیشه سوال را خودتون مطرح کنید/3بار گرفتم اما.....
با دانلود منيجر ها نبايد دانلود کني:چشمک:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
حس و وقت ترجمه متن نيست
من تا الان 2 بار تو مسابقات acm سطح دانشگاهمون شركت كردم اما مشكل من ترجمه متن هستش فارسي بذاريد بنده هم هستم.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
راست میگه منم انگلیسیم جالب نیست.لطفا یه نفر زحمت ترجمش را بکشه
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
farid_mov2006
راست میگه منم انگلیسیم جالب نیست.لطفا یه نفر زحمت ترجمش را بکشه
منم انگلیسیم زیاد خوب نیست، ولی سعی می کنم بفهمم، شاید حتی یه روزم واسش وقت بزارم، ولی چشم،تا حدودی اون چیز هایی که فهمیدم را ، فارسیشا می گم
سوال این بود:
یه گردنبنده، که قرمز و آبیه،سفیدم می تونه باشه...، این گردنبند را به صورت رشته به ما می دهند، از اول و آخر گردنبند باید مهره های هم رنگ را جمع کنیم، و بیشترین تعدادی که جمع شده را به عنوان خروجی چاپ کنیم، ولی 2 تا نکته داره،
1.سفید مهره ی خنثی است، یعنی هم میتونه نقش آبی را بازی کنه، هم قرمز
2.همنطوری که تو صورت سوال گفته برای این رشته
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
****** *****
آبی که آخر رشته است،با اول رشته حساب می شه....
نمی دونم خوب گفتم یا نه، اگه خیلی مبهمه، بگید تا بیشتر توضیح بدم....
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
lvlina_r
منم انگلیسیم زیاد خوب نیست، ولی سعی می کنم بفهمم، شاید حتی یه روزم واسش وقت بزارم، ولی چشم،تا حدودی اون چیز هایی که فهمیدم را ، فارسیشا می گم
سوال این بود:
یه گردنبنده، که قرمز و آبیه،سفیدم می تونه باشه...، این گردنبند را به صورت رشته به ما می دهند، از اول و آخر گردنبند باید مهره های هم رنگ را جمع کنیم، و بیشترین تعدادی که جمع شده را به عنوان خروجی چاپ کنیم، ولی 2 تا نکته داره،
1.سفید مهره ی خنثی است، یعنی هم میتونه نقش آبی را بازی کنه، هم قرمز
2.همنطوری که تو صورت سوال گفته برای این رشته
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
****** *****
آبی که آخر رشته است،با اول رشته حساب می شه....
نمی دونم خوب گفتم یا نه، اگه خیلی مبهمه، بگید تا بیشتر توضیح بدم....
این واسه شروع سخت نیست، من حتی نفهمیدم چه جوری باید شروع کنم.:ناراحت:
اگه کدی گذاشتید، توضیح هم بدید
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
fshb_ 1370
این واسه شروع سخت نیست، من حتی نفهمیدم چه جوری باید شروع کنم.:ناراحت:
اگه کدی گذاشتید، توضیح هم بدید
فکر نکنم زیادم سخت باشه، به هر حال باید از یه جا شروع کرد، این مثلا جزء سوال های مبتدیش بود، البته منم خودم نتونستم کامل به جواب برسم، ولی می تونیم برنامه ی دوستمون را تحلیل کنیم....، ببینیم چی کار کرده و چرا:متفکر::متفکر::متفکر:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
من هم تعدادی تمرین قرار میدم امیدوارم مفید باشه
1- تابعی به صورت بازگشتی بنویسید که دو عدد از ورودی دریافت کرده و حاصل ضرب آنها را به صورت جمع متوالی محاسبه نماید؟
2- تابعی به صورت بازگشتی بنویسید که عددی از ورودی گرفته و ارقام آنرا تفکیک و چاپ نماید؟
3- تابعی به صورت بازگشتی بنویسید که دو عدد گرفته و ب.م.م و ک.م.م انرا چاپ نماید؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
حاصلضرب بازگشتی با عملگر جمع :
#include <stdio.h>
int plural(int n,int m){
if(n==0) return 0; else
return plural(n-1,m)+m;
}
void main(){
int m=6,n=9;
printf("%d\n",plural(n,m));
}
تفکیک ارقام بازگشتی:
#include <stdio.h>
int crack(int n){
printf("%d\n",n%10);
if ((n)>1) return crack(n/10);else
return 0;
}
void main(){
crack(43543);
}
اینم بازگشتی ب.م.م و ک.م.م
int bmm(int a,int b){
if (b) return bmm(b,a%b);else
return a;
}
void main(){
int m=5,n=20;
printf("bmm= %d\nkmm=%d\n",bmm(m,n),((m*n)/bmm(m,n)));
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ای بنویسید که عدد صحیح را گرفته ، اگر عدد مثبت بود مبنای 2 آنر و اگر منفی بود مکمل 2 آنرا نمایش دهد.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ای بنویسید که مجموع عناصر دور یک ماتریس 5*5 را محاسبه نماید؟
برنامه ای بنویسید که یک ارایه 2 بعدی 5*5 را گرفته و مجموع سطرها و ستون های آنرا به صورت جداگانه در آرایه دیگری ذخیره و آرایه مورد نظر را چاپ نماید؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سوال اول اگه مثبت باینری و اگه منفی مکمل 2 که خودش بشه:
#include <iostream.h>
#include <stdlib.h>
void main(){
int a;
char str[32];
cout<<"your number :\n";
cin>>a;
if(a>0){cout<<itoa(a, str, 2)<<endl;}else{cout<<itoa(((~a)+1), str, 2)<<endl;};
}
سوال دوم که مجموع عناصر دور یک ماترس رو بدست میاره :
#include <iostream>
#include <conio.h>
using namespace std;
void main(){
int a[5][5];
int sum=0;
for (int i=0;i<=4;i++){
for (int j=0;j<=4;j++){
a[i][j]=getch()-48;
cout<<" "<<a[i][j];
if(((i==0)||(i==4))&&((j!=0)&&(j!=4))) sum+=a[i][j];
}cout<<endl;sum+=a[i][4]+a[i][0];}
cout<<"\n sum of around digit equal to : "<<sum<<endl;
}
من منظور این سوال رو نفهمیدم:
نقل قول:
برنامه ای بنویسید که یک ارایه 2 بعدی 5*5 را گرفته و مجموع سطرها و ستون های آنرا به صورت جداگانه در آرایه دیگری ذخیره و آرایه مورد نظر را چاپ نماید؟
-
++C
سلام
از دوستان عذر می خوام که بعد از اولین پست نتونستم کار رو شروع کنم.یه مشکل برام پیش اومده بود، اما انشاا... از این به بعد کارمون ادامه پیدا کنه با کمک همه دوستان.
من یه برنامه پیشنهادی دارم ببینیم چطوره.
در ادامه کار سعی می کنم آموزش هم قرار بدم.
**برنامه ای بنویسید که یک عبارت میانوندی رو به پسوندی تبدیل کنه**
مثال: میانوندی a+b
پسوندی +ab
امیدوارم موفق باشید
-
نقل قول: تمرین های زبان برنامه نویسی ++C
اینم جوابش تبدیل میانوندی به پسوندی : اینو از یک سایتی گرفتم چون سوالت کلیشه ایی بود
#include<stdio.h>
#include<string.h>
#define size 10
char stack[size];
int tos=0,ele;
void push();
char pop();
void show();
int isempty();
int isfull();
char infix[30],output[30];
int prec(char);
//Functions for operations on stack
void push(int ele)
{
stack[tos]=ele;
tos++;
}
char pop()
{
tos--;
return(stack[tos]);
}
void show()
{
int x=tos;
printf("--The Stack elements are.....");
while(x!=0)
printf("%c, ",stack[--x]);
}
//Function to get the precedence of an operator
int prec(char symbol)
{
if(symbol== '(')
return 0;
if(symbol== ')')
return 0;
if(symbol=='+' || symbol=='-')
return 1;
if(symbol=='*' || symbol=='/')
return 2;
if(symbol=='^')
return 3;
return 0;
}
int main()
{
int i=0,j=0,k=0,length;
char temp;
printf("\nEnter an infix expression:");
scanf("%s",infix);
printf("\nThe infix expresson is %s",infix);
length=strlen(infix);
for(i=0;i<length;i++)
{
//Numbers are added to the out put QUE
if(infix[i]!='+' && infix[i]!='-' && infix[i]!='*' && infix[i]!='/' && infix[i]!='^' && infix[i]!=')' && infix[i]!='(' )
{
output[j++]=infix[i];
printf("\nThe element added to Q is:%c",infix[i]);
}
//If an operator or a bracket is encountered...
else
{
if(tos==0) //If there are no elements in the stack, the operator is added to it
{
push(infix[i]);
printf("\nThe pushed element is:%c",infix[i]);
}
else
{ //Operators or pushed or poped based on the order of precedence
if(infix[i]!=')' && infix[i]!='(')
{
if( prec(infix[i]) <= prec(stack[tos-1]) )
{
temp=pop();
printf("\n the poped element is :%c",temp);
output[j++]=temp;
push(infix[i]);
printf("\n The pushed element is :%c",infix[i]);
show();
}
else
{
push(infix[i]);
printf("\nThe pushed element is:%c",infix[i]);
show();
}
}
else
{
if(infix[i]=='(')
{
push(infix[i]);
printf("\nThe pushed-- element is:%c",infix[i]);
}
if(infix[i]==')')
{
temp=pop();
while(temp!='(')
{output[j++]=temp;
printf("\nThe element added to Q is:%c",temp);
//temp=pop();
printf("\n the poped element is :%c",temp);
temp=pop();}
}
}
}
}
printf("\nthe infix expression is: %s",output);
}
while(tos!=0)
{
output[j++]=pop();
}
printf("the infix expression is: %s\n",output);
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان عزیز.
بنده تازه عضو شدم. و دانشجوی ترم دوم رشته کامپیوتر هستم. ما همین ترم سی ++ رو پاس میکنیم. و من خودم کتاب دیتل رو تا صفحه 450 خوندم تا حالا. در ضمن برنامه نویسی به زبان سی رو هم با بالاترین نمره (21!) پاس کردم.
امیدورام بتونم کمکی بکنم.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سی ++ بیشتر به خاطر شی گرا بودنش معروفه. دوستان عزیز چرا روی این قسمت از این زبان کار نمیکنید و هرچی تمرین و مثال هست مربوط به مسایل دیگه هست؟
شی گرایی و مفهموم کلاس یکی از مهمترین مسایل برنامه نویسی محسوب میشه. خواهش میکنم اگه دوستانی در این زمینه تبحر دارند مارو از لطف خوشدون محروم نزارن.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
دوست من شما یک کاری کن تمام این تابع هایی که از اول تا اینجا نوشتیم را در قالب یک کلاس پیاده سازی کن مفید میشه؟؟؟؟؟؟؟؟؟
و یک مبحثی هست به نام coalition detection در مورد تشخیص بر خورده این را با کلاس ها پیاده سازی کن:تشویق: موفق باشی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
Nima.M
سلام دوستان عزیز.
بنده تازه عضو شدم. و دانشجوی ترم دوم رشته کامپیوتر هستم. ما همین ترم سی ++ رو پاس میکنیم. و من خودم کتاب دیتل رو تا صفحه 450 خوندم تا حالا. در ضمن برنامه نویسی به زبان سی رو هم با بالاترین نمره (21!) پاس کردم.
امیدورام بتونم کمکی بکنم.
عجب موجود خارق العاده ای، واقعا سی را 21 شدن هنراست....:چشمک::چشمک:
موفق باشی، حالا کدوم دانشگاه؟؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان،خسته نباشید؛
ضمن عذرخواهی من یک برگشت به عقب می کنم و برنامه ضرب رو با استفاده از جمعهای متوالی و تابع بازگشتی نوشتم. اگه احیاناً ایراد و نقصی داره لطفا اعلام کنید.
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int c;
int add(int a,int b)
{
if(b==0)
return c;
else
c+=a;
return add(a,b-1);
}
int main()
{
int a,b;
cin>>a;
cin>>b;
cout<<add(a,b)<<endl;
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
چه عجب یکی تست کرد این تابع ها رو ..... حالا اگه گفتی اصلاح اون تابع من چطوریه؟:قلب: بدون استفاده از متغیر سوم
int m2=0;
int plural(int n,int m){
m2+=m;
if ((n--)>1) return plural(n,m);else
return m2;
}
void main(){
int m=100,n=5;
printf("%d\n",plural(m,n));
}
-
1 ضمیمه
به نام او
سلام
اولاً آقای amin1softco خوبه که شما به سایتهای برنامه نویسی زیادی مراجعه میکنید ولی خوب بهتر بود خودتون هم روش فکر میکردید و البته من هم میدونستم اون سوال زیاد طاقت فرسا نیست.
ثانیاً آقایNima.M ورود شما رو خوشامد میگم؛ وقتی من وارد این تاپیک شدم دوستان تقاضای آموزش++c رو از اول داشتن و من هم سعیم بر اینه.
اگه شما میتونید این کار رو بهتر ادامه بدید بسم ا...
و اما سوال 2:
برنامه بنویسید که شکلی رو که به ضمیمه فرستاده شده چاپ کنه.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
باشه چشم این تصویر که گذاشتی می خوای به صورت تصویر چاپ بشه یا کارکتر اسکی اگه تصویر دوست داری چاپ بشه با بورلند میشه اینجور چاپش کرد تو ویژالم که دیگه آب خوردن با api های ویندوز:
#include <iostream.h>
#include <graphics.h>
#include <fstream.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <stdio.h>
struct U{
unsigned char magic[2];
}mag;
struct master {
// word bftype;
unsigned long Size;
unsigned short Reserved;
unsigned short Reserved2;
unsigned long BitsOffset;
} HEADER;
class info {public:
unsigned long header_sz;
unsigned long width;
unsigned long height;
unsigned short nplanes;
unsigned short bitspp;
unsigned long compress_type;
unsigned long bmp_bytesz;
unsigned long hres;
unsigned long vres;
unsigned long ncolors;
// unsigned long nimpcolors;
} INFOHEADER;
huge DetectSvga()
{
return 2;
}
void Show(char* filename,int xcor,int ycor)
{
fstream File;
File.open(filename,ios::in);
char Ch;
File.read((char*)&mag,2);// read te 2 frist byte for know file
/*if (mag.magic!="BM"){
printf("file not a bitmap");
exit(0);
}*/
File.read((char*)&HEADER,12); //read for get offst bye of bitmap data
File.read((char*)&INFOHEADER,40); //read for width , heght and know 8 bit
unsigned int i;
File.seekg(HEADER.BitsOffset);
for(i=0;i<INFOHEADER.height;i++) //This for loop is used to display the bitmap.
{
for(int j=0;j<INFOHEADER.width;j++)
{
File.read(&Ch,1); // Here Ch reads the color of your bitmap.
putpixel(xcor+j,ycor+INFOHEADER.height-i,Ch);//write pixel to screen
}
}
File.close();
}
void main()
{
clrscr();
int gd = DETECT, md, a;
initgraph(&gd,&md,"..\\bgi");
installuserdriver("svga256",&DetectSvga);
char msg[15];
char* k;
cout<<"plz write adress of 8-bit bitmap format file: (example: c:/test.bmp)"<<endl;
cin>>k;
Show(k,100,100);
getch();
}
البته اینو من قدیما برای نوشتن فایل های بیتمپ 8 بیتی نوشته بودم
در ضمن میشه تبدیلشم کرد به کارکتر اسکی یک خطشو باید تغییر داد فقط فرمت jpg رو نمی دونم چطوری باید خوند که comppress شده ... میشه ها ولی یکم سخته خدا پدر مایکروسافت را بیامورزه با این api های خوب که سه سوته تصویرو نمایش میده
-
هو القریب
برادر من شما با ++c با کارکتر ستاره اون رو چاپ کن
ضمنا شما استاد ما هستی این تمارین ابتدایی رو من برای شروع کار اونایی که از اول می خوان شروع کنن میزارم
التماس دعا
یا علی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
در تابع بالا خط
putpixel(xcor+j,ycor+INFOHEADER.height-i,Ch);//write pixel to screen
با یک gotoxy و putch جایگزین کنی میشه اینکار رو انجام داد ولی عکست باید تقریبا برابر سایز کنسول باشه 80*20 یا کمتر چون در غیر اینصورت نمیشه کاریش کرد یعنی باید سایز عکست رو مناسب کنی و چاپش کنی
یک نکته دیگه من زیاد وارد نیستم فقط علاقمندم :قلب: شما خودت آقایی ببخشید اگه من سریع جواب میدم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
در پستهای قبلی برنامه ای بود با این مضمون: دریافت یک عدد و نمایش ارقام آن بصورت تفکیک شده و با استفاده از توابع بازگشتی.
من یک برنامه نوشتم که رقم رو بصورت معکوس چاپ میکنه ولی در ادامه نیز ارقامهای دیگه رو هم چاپ میکنه!
دوستان میتونن بگن ایرادم از کجاست؟
با تشکر
#include <conio.h>
#include <iostream>
using namespace std;
void dav(int a)
{
while(a)
{
cout<<(a%10)<<"\n";
a/=10;
dav(a);
}
}
int main()
{
int m;
m=95;
dav(m);
_getch();
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
این تابع از ساختار بازگشتی تبعیت نمی کنه خط
dav(a);
را شما حذف کنی برنامه شما در ست عمل می کنه
راستی نگفتی بلاخره چطور بدون متغیر سوم باید عمل ضرب را با عملگر جمع به صورت بازگشتی پیاده سازی کرد البته تقلب نکنیا:قلب:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
بخدا نه، نمیخوام سر خودم کلاه بذارم که! توی اداره یکم باهاش ور رفتم ولی هنوز به جواب نرسیدم. ضمنا از کجا میشه تقلب کرد؟
ثانیاً یه راهنمایی نمیشه بکنی؟ البته اگه زمان داشته باشم سعی می کنم همین امروز حلش کنم.
در خصوص برنامه قبل میشه بگید چه جوری بصورت بازگشتی بنویسم؟
ممنون
-
نقل قول: تمرین های زبان برنامه نویسی ++C
یک مروری صفحات قبلی رو بکن من خودم نوشتمش بدون متغیر سوم یعنی همونو عوضش کردم که این می شد:
#include <stdio.h>
int plural(int n,int m){
if(n==0) return 0; else
return plural(n-1,m)+m;
}
void main(){
int m=6,n=9;
printf("%d\n",plural(n,m));
}
اصلاح این به صورت بازگشتی یه چیزی تو این مایه ها میشه :
#include <conio.h>
#include <iostream>
using namespace std;
void dav(int a)
{
if (a) dav(a/10);
cout<<(a%10)<<"\n";
}
void main()
{
int m;
m=1234567890;
dav(m);
_getch();
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سه روش برای دسترسی به مقادیر یک آرایه دو بعدی
void ascendbsort(int column, int *list[][COL_SIZE])
{
int i,j,k;
for(i=0;i<(ROW_SIZE-1);i++)
{
for(j=0;j<(ROW_SIZE-(i+1));j++)
{
if(list[j][column] > list[j+1][column])
{
for(k=0; k < 4; k++)
{
swap(&list[j][k], &list[j+1][k]);//switch the entire row, not just the element
}
}
}
}
}
printf ( "\n" ) ;
}
printf ("\n" ) ;
}
show ( int ( *q )[4], int row, int col )
{
int i, j ;
int *p ;
for ( i = 0 ; i < row ; i++ )
{
p = q + i ;
for ( j = 0 ; j < col ; j++ )
printf ( "%d ", * ( p + j ) ) ;
printf ( "\n" ) ;
}
printf ( "\n" ) ;
}
print ( int q[ ][4], int row, int col )
{
int i, j ;
for ( i = 0 ; i < row ; i++ )
{
for ( j = 0 ; j < col ; j++ )
printf ( "%d ", q[i][j] ) ;
printf ( "\n" ) ;
}
printf ( "\n" ) ;
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
تعویض نام ها با استفاده از آرایه دو بعدی کاراکتری
main( )
{
char names[ ][10] = {
"akshay",
"parag",
"raman",
"srinivas",
"gopal",
"rajesh"
} ;
int i ;
char t ;
printf ( "\nOriginal: %s %s", &names[2][0], &names[3][0] ) ;
for ( i = 0 ; i <= 9 ; i++ )
{
t = names[2][i] ;
names[2][i] = names[3][i] ;
names[3][i] = t ;
}
printf ( "\nNew: %s %s", &names[2][0], &names[3][0] ) ;
}