به نقل از Arash_j13 :خب تمرین
بدون استفاده از آرایه ساختار کلاس یونینون و...
فقط به کمک اوناع پایه ای و اشاره گرها
برنامه ای بنویسید که تمامی حروفی که کاربر می نویسد را بدون نمایس بر روی صفحه ذخیره نماید تا کاربر حروف Q یا q را وارد کند بعد از این کار تمام حروف تایپ شده را به ترتیب از اولین به اخرین نمایش دهد
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char *pch,*pcht,ch;
int i=0;
clrscr();
pch = new char[i];
*pch = '\0';
while((ch=getch())!='\r')
{
i++;
pcht = new char[i+1];
strcpy(pcht,pch);
delete pch;
pch=pcht;
*(pch+i-1)=ch;
*(pch+i)='\0';
}
printf("s=%s",pch);
getch();
}
while((ch=getch())!='\r')
while((ch=getch())!='p')
#include <stdio.h>
#include <conio.h>
int main()
{
int c;
c=getch();
printf("you was entered %c\n",c);
c=getche();
getch();
return 0;
}
خب این قبلا حل نکردمبه نقل از Arman_BTC :اقا ارش سلام
در مورد این تمرین برای ذخیره کردن حرو ف بدون نمایش به غیر از ارایه ها راه دیگه ای هم هست؟اخه شما نوشتین
بدون استفاده از ارایه
و اینکه گفتید شاید قبلا حل کردید منظورتون توی تاپیک های قبلیه؟
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <alloc.h>
#include <process.h>
int main(void)
{
char *myBuffer;
char ch;
int i=0;
clrscr();
/* allocate memory for string */
if ((myBuffer = (char *) malloc(100)) == NULL)
{
cout<<"There is some Error";
getch();
exit(0);
}
cout<<"Type some text and The String you Typed is :"<<endl;
ch=getch();
while(ch!=27)
{
if (i==100) {
*(myBuffer+i)='\0';
cout<<myBuffer<<endl;
i=0;
}
if (ch==13) {
*(myBuffer+i)='\0';
cout<<myBuffer<<endl;
i=0;
}else if (ch!=0) {
*(myBuffer+i++)=ch;
}else ch=getch();
ch=getch();
}
*(myBuffer+i)='\0';
cout<<myBuffer<<endl;
free(myBuffer);
cout<<"our buffer is empty now. press any key to continue..."<<endl;
getch();
return 0;
}
به نقل از Arman_BTC :ولی فکر میکنم به جایاگهکد:while((ch=getch())!='\r')
باشه با صورت سوال جور در میادکد:while((ch=getch())!='p')
اگه میشه یه توضیح کلی هم راجع به کل برنامه بدید.ممنون میشم
new char[i];
float *p;
p=malloc (sizeof(float) * 10);
float *p;
p=new float[10];
به نقل از Arash_j13 :آقا محمد برنامه تون خوب بود ولی از ارایه استفده کردید حالا درسته پویا شده اما بازم ارایه است
long int fibo(long int x)
{
if (x<=0)
return 0;
if (x==1||x==2)
return 1;
return fibo(x-1)+fibo(x-2);
}
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <process.h>
long double f(long double i,int cnt);
int main(void)
{
clrscr();
long double i;
//our code start from here
cout<<"Please Enter number for calculating figona chee value: ";
cin>>i;
cout<<"our calculating Result is: "<<f(i,0)<<
endl<<"Press any key to continue...";
getch();
return 0;
}
long double f( long double i,int cnt){
static long double oldf[1000];
static long cntm;
long double lngTmp;
long fd;
if (cnt==0) cntm=0;
//if our number reaches zero then our functions returns nothing
if (i<=0) return 0;
//if our number equal 1 or 2 then our function return 1
if (i==1 || i==2) return 1;
// Check our number exist in our array or not?
// if exist find function value index from our array index
fd=-1; // set Parameter value to detected found index or not
if (cntm+2>=i) fd=i-3;
// if index not founded call function again for calculate for new number
if (fd==-1){
lngTmp=f(i-2,1)+f(i-1,1);
oldf[cntm]=lngTmp; //store this value for latter usage
cntm++; // one added to our array counter.
}else lngTmp=oldf[fd]; //we have this value so set it!
return lngTmp; // finished new number calculating send back this value
}