برنامه های کاربردی به زبان ++C

حــامد

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

برنامه وقتی خاتمه می یابد که هر دو عدد اعشاری صفر باشند.
ج :
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
float a , b ,result ;
cout << "please enter 2 float number \n";
cout << " enter a : ";
cin >> a ;
cout << " enter b : ";
cin >> b ;
while (a!=0 || b!=0){
result = (a*b)-(a/b);
cout << " result = " << result ;
cout << "\n please enter 2 float number ";
cout << " enter a : ";
cin >> a ;
cout << " enter b : ";
cin >> b ;
}
getch();
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
بر نامه ای بنویسید که با استفاده از حلقه های تودرتو خروجی زیر را تولید کند .
$$$$$$
$$$$$$
$$$$$$
$$$$$$
ج :
#include <iostream.h>
#include <conio.h>
int main(){
int i , j ;
for (i=0 ; i<4 ; i++){
for (j=0 ; j<6 ; j++){
cout << '$';
}
cout << '\n';
}

getch();
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که ضرایب معادله درجه دوم را از ورودی گرفته ، معادله را حل کند .
a x ^ 2 + b x + c = 0
ج:
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
int a,b,c;
int d;
double r1,r2;
cout << "enter 3 number (a,b,c) for ax^2+bx+c \n" ;
cout << " please enter a :" ;
cin >> a ;
cout << " please enter b :" ;
cin >> b ;
cout << " please enter c :" ;
cin >> c ;
d= (b*b) - (4*a*c);
if (d>0){
r1=((-b)-sqrt(d))/(2*a);
r2= ((-b)+sqrt(d))/(2*a);
cout << "r1 : " << r1 <<'\t'<< "r2 : " << r2;
}
else if (d==0){
r1 = (-b)/(2*a);
cout << " r1,r2 : " << r1;
}
else if (d<0)
cout << " rishe nadarim " ;
getch();
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که عددی از 1 تا 7 را خوانده ، روزی از هفته را که معادل با آن است را در خروجی چاپ کند (switch).
ج :
# include <iostream.h>
# include <conio.h>
int main(){
int x;
cout << "please enter number 1 - 7 for days : " ;
cin >> x;
switch (x) {
case 1 :
cout << "saturday";
break;
case 2 :
cout << "sunday";
break;
case 3 :
cout << "monday";
break;
case 4 :
cout << "tusday";
break;
case 5 :
cout << "thirsday";
break;
case 6 :
cout << "wendsday";
break;
case 7 :
cout << "friday";
break;
default :
cout << " this number not corect becuase 1 - 7 ";
break;
}
getch();
return 0;
}



برنامه ای بنویسید که حاصل عبارت زیر را محاسبه کند ( n < 10 ).
1 + (1/2!) + (1/3!) + … + (1/n!)
ج :
# include <iostream.h>
# include <conio.h>
int main(){
int i , num ;
long int fact = 1 ;
float sum = 0 ;
clrscr();
cout << "Enter one number for factoriel : " ;
cin >> num ;
for (i=1 ; i<=num ; i++ ) {
fact *= i ;
sum += (1/(float)fact) ;
}
cout << "\nsum : " << sum ;
getch();
return 0;
}
 

حــامد

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

از مالیات معاف 400،000 > حقوق
10 درصد مالیات نسبت به مازاد 500،000 > حقوق > 400،001
15 درصد مایات نسبت به مازاد 700،000 > حقوق > 500،001
17 درصد مالیات نسبت به مازاد 700،000 < حقوق
ج :
# include <iostream.h>
# include <conio.h>
long int main(){
int i , n ;
long int number , maxnumber, price , acord ;
float salary , tax , maxsalary = 0 ;
cout << " please tell sum employers : " ;
cin >> n ;
for (i = 1 ; i <=n ; i++ ) {
cout << "\n please number employer : " ;
cin >> number ;
cout << "\n please salary employer : " ;
cin >> price ;
if (price <= 400000) {
cout << "\n salary is " << price ;
cout << " \n ----------------------------------" ;
}
else if ( 400000 < price && price < 500001 ) {
acord = price - 400000;
tax = (10 * acord)/ 100 ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
else if ( 500000 < price && price < 700001 ) {
acord = price - 400000;
tax = (15 * acord)/ 100 ;
cout << "tax " << tax ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
else if ( price > 700000 ) {
acord = price - 400000;
tax = (17 * acord)/ 100 ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
if (price > maxsalary){
maxsalary = salary ;
maxnumber = number ;
}
}
cout << " \n ====================================" ;
cout << " \n maixmum salary is : " << maxsalary ;
cout << " \n maixmum salary number is : " << maxnumber ;
getch();
return 0;
}

 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که تعداد n جمله از سری فیبوناچی را تولید کند .
1 1 2 3 5 8 13 …

ج :
#include <iostream.h>
#include <conio.h>
int main(){
int x=1 , g = 1 , z , k , n ;
clrscr();
cout << " how many number for fibonachi ? : " ;
cin >> n ;
n -= 2 ;
cout << x << " " << g << " " ;
z = x + g ;
cout << z << " " ;
for (k = 1 ; k <= n -1 ; k++ ){
x = g ;
g = z ;
z = x + g ;
cout << z << " " ;
}
getch() ;
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که کارکتری را که نشان دهنده رنگی است ، از ورودی خوانده به شما بگوید که چه رنگی را می خواهد انتخاب کند . مثلاٌ
کاربر حرف 'r' را وارد کرد برنامه به او بگوید که دوست دارد رنگ قرمز را انتخاب کند . برای تمام موارد حروف کوچک و بزرگ کنترل شود . مثل 'r' و 'R' برای رنگ قرمز.
ج :
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
int main(){
char ch , x='y' ;
while (x=='y'){
cout << " please enter r,g,b,w,y for color : ";
cin >> ch ;
switch (ch) {
case 'R' :
case 'r' :
cout << " red \n" ;
break;
case 'G' :
case 'g' :
cout << " Grean \n";
break;
case 'B' :
case 'b' :
cout << " black \n";
break;
case 'W' :
case 'w' :
cout << " White \n";
break;
case 'Y' :
case 'y' :
cout << " Yellow \n";
break;
default :
cout << " This is not into list color " ;
}
cout << "please enter Y/N for continu : " ;
cin>>x;
}
getch() ;
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که خروجی زیر را در صفحه نمایش چاپ کند .
*
**
***
****
*****
******
ج :
#include <iostream.h>
#include <conio.h>
int main(){
int i , j ;
for (i = 1 ; i<=6 ; i++ ) {
for ( j = 1 ; j<=i ; j++ ) {
cout << "*";
}
cout << "\n" ;
}
getch() ;
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که اعدادی را از ورودی خوانده تشخیص دهد آیا اعداد مورد نظر ، کامل هستند یا خیر . عددی کامل است که مجموع مقسوم علیه های آن ( به جزء خودش ) برابر با آن عدد باشد . پس از بررسیهر عدد ، برنامه باید از کاربر سوال کند که می خواهد به کارش ادامه دهد یا خیر.
ج :
#include <iostream.h>
#include <conio.h>
int main(){
int n ,i, s=1,x=1;
char z;
while (x){
cout << " please enter 1 number for compelet number : ";
cin >> n;
for (i=2;i<n;i++){
if ((n%i)==0){
s+=(n/i);
}
}
if (n==s){
cout <<" number is complet : " << n;
}
else {
cout << "not complete";
}
cout << " \n do you want to continue y/n : " ;
cin >> z ;
if (z=='y')
continue;
else
x=0;
}
getch();
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه ای بنویسید که شماره دانشجویی و معدل تعداد n دانشجو را از ورودی خوانده ، دانشجویی را که دومین معدل را از نظر بزرگی دارد پیدا کند و به خروجی ببرد.
ج :
#include <iostream.h>
#include <conio.h>
int main(){
int n , i;
long int number , number1 = 0 , number2 = 0 ;
float ave=0 , maxave = 0 , twoave = 0;
cout << "please n student : " ;
cin >> n ;
for (i=0 ; i<n ; i++) {
cout << " please number student : " ;
cin >> number ;
cout << " please average student : " ;
cin >> ave ;
if (ave > 20 ) {
cout << " please enter average <= 20 : " ;
cin >> ave ;
}
if ( ave > maxave ) {
twoave = maxave ;
maxave = ave ;
number2 = number1 ;
number1 = number ;
}
else if (ave > twoave ){
twoave = ave ;
number2 = number ;
}
}
cout << " maxaverage is " << maxave << " number student " << number1 ;
cout << "\n twoaverage is " << twoave << " number student " << number2;
getch() ;
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
تابعي بنويسيد كه يك اشاره گر ار نوع صحيح وعدد صحيح n را به عنوان پارامتر پذيرفته ، حافظه اي براي n عدد صحيح تخصيص دهد وآدرس آن را به برنامه برگرداند.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void allocatemem(int *p, int n);
int main(){
int *p, n , i;
clrscr() ;
cout << " Enter Count: " ;
cin >> n;
allocatemem(p, n);
cout << "Memory Allocated.";
getch();
return 0 ;
}
//********************************************************************
void allocatemem(int *p, int n){
p = new int [n];
}

 

حــامد

مدیر بازنشسته
کاربر ممتاز
خروجي زير راتعيين كنيد. آرايهx از آدرس 1024 شروع مي شود .
#include<iostream.h>
# define m 5
Int main()
{
Int I,j ,x[m];
For(i= 0; i< m; i++)
X= x +I;

For(i= 0; i< m; i++)
Cout<<"\n x["<<i<<"]="<<*(x +i);
Getch();
Return 0;
}
ج: محتواي ادرس خانه هاي 1024تا 1029 را چاپ مي كند .
X [ 0 ] = 1024
X [ 1 ] = 1025
X [ 2 ] = 1026
X [ 3 ] = 1027
X [ 4 ] = 1028

 

حــامد

مدیر بازنشسته
کاربر ممتاز
تابعي بنويسيد كه يك رشته ويك مقدار عددي را به عنوان آرگومان پذيرفته ،تعدادي از كاراكترهاي اين رشته را با اين عدد مشخص مي شوند در رشته ديگر قرار داده ، برگرداند. سپس برنامه اي بنويسيد كه از آن استفاده كند.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void find(char *str, int n, char *out);
int main(){
char *str, *out;
int n;
str = new char[100];
out = new char[100];
clrscr() ;
cout << " Enter String: " ;
cin.get ( str , 100 ) ;
cout << " Enter Number: " ;
cin >> n;
find(str, n, out);
cout << "Output is : " << out;
getch();
return 0 ;
}
//********************************************************************
void find(char *str, int n, char *out){
int x, i, count;
int digits[20];
for (i=0 ; n > 0 ; i++){
x = n % 10;
n = n /10;
digits = x;

}
count = i;
for (i = 0 ; *str ; str++)
for (int j= count - 1; j >= 0 ;j--)
if ((*str - 48) == digits[j]){
*(out + i) = *str;
i++;
}
*(out + i) = '\0';
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيدكه دورشته را از ورودي خوانده ، يكي را در ديگري كپي كند.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main(){
char *str1, *str2, *savestr1;
str1 = new char[100];
str2 = new char[100];
clrscr() ;
cout << " Enter String1: " ;
cin.get ( str1 , 100 ) ;
cout << " Enter String2: " ;
cin.get ();
cin.get ( str2 , 100 ) ;
//str1 -> str2
savestr1 = str1;
for (int i = 0; *str1; i++)
*(str2 + i) = *str1++;
*(str2 + i) = '\0';
cout << "String1 is :" << savestr1 << "\n";
cout << "String2 is : " << str2;
getch();
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را از ورودي خوانده ، فقط آن رشته هايي را كه با حروف 'b' شروع مي شوند در خروجي چاپ كند وبه جاي آخرين رشته ، فقط كليد Enter را فشار دهيد.
ج :

#include<iostream.h>
#include<conio.h>
#include<string.h>
int main(){
char *name;
name = new char[100];
clrscr() ;
do {
cout << " Enter String: " ;
cin.get();
cin.get ( name , 100 ) ;
if (*name == 'b')
cout << name << "\n";
}
while (*name);
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته عددي را حاوي نقطه اعشار است از ورودي خوانده ، آن را به عدد اعشاري تبديل كند عنوان مثال ،رشته "42/123 "رابه عدد 42/123 تبديل نمايد. تابعي براي خواندن رشته ،تابعي براي تبديل وتابعي براي نوشتن عدد در خروجي بنويسيد . پارامترها از طريق فراخواني با ارجاع به توابع ارسال شوند.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<math.h>
void input(char * str);
void ascii_to_double(char * str, double * value);
void output(double *f) ;
int main(){
char str[20];
double f;
clrscr() ;
input(str);
ascii_to_double(str, &f);
output(&f);
getch();
return 0 ;
}
//************************************************************
void input(char *str){
cout << " Enter String (number) : " ;
cin.get ( str , 20 ) ;
}
void ascii_to_double(char * str, double * value){
int flag = 0 , i = 0;
*value = 0 ;
while (*str){
if (*str == '.')
flag = 1;
else
if (*str >= '0' && *str <= '9')
if (flag == 0 )
*value= (*value * 10) + (*str -48);
else
*value= *value + (*str -48) / pow(10, ++i);
else {
cout << "invalid char";
break;
}
str++;
}
}
void output(double *f){
cout << " Number is : " ;
cout << *f;
}

 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه سه مقدار عددي رابه عنوان آرگومان پذيرفته ،به تابعي ارسال كند وتابع بزرگترين مقدار آنهارا پيداكند . برنامه برنامه بايد تعداد آرگومان هارا كنترل كند.
ج :

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
int max( int a, int b , int c);
int main(int argc , char *argv[]){
clrscr();
if (argc <= 3) {
cout << "Wrong number of parameters";
getch();
exit;
}
cout << max(atoi(argv[1]), atoi(argv[2]), atoi(argv[3]));
getch () ;
return 0 ;
}
int max( int a, int b , int c) {
int max = a;
if (b > max)
max = b;
if (c > max)
max= c;
return max;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي رااز ورودي خوانده ،به تابعي ارسال كند وتابع آن را به طور معكوس به خروجي ببرد.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void invers (char *str) ;
int main(){
char str[100];
clrscr();
cout << " Enter string : " ;
cin.get (str , 100 , '.') ;
invers (str) ;
getch () ;
return 0 ;
}
void invers ( char *str){
char *savestr = str;
while (*str)
str++;
for ( str--; str >= savestr ; str--)
cout << *str;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيدكه نام وشماره تلفن تعدادي از مشتريان مخابرات رااز ورودي خوانده ،در آرايه هايي ذخيره نمايد. شماره تلفن ها در آرايه عددي ونام مشتريان در آرايه اي از اشاره گرهاي رشته اي ذخيره شوند.سپس نامي از ورودي خوانده شده شماره تلفن وي را مشخص كرده ،در خروجي چاپ كند . برناممه بايد براي ادامه كار ،از كاربر سوال كند . اگر كاربر جواب منفي داد ،برنامه خاتمه پيدا مي كند. توابعي براي خواندن اطلاعات،جستجو وچاپ نتايج جستجو بنويسيد.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void input(char **names, int *numbers, int n) ;
int search(char **names, int n, char *name) ;
void output(int *numbers, int index) ;
int main(){
char **names, name[21];
int *numbers, n, index;
char key;
clrscr() ;
cout << " Enter Count : " ;
cin >> n;
names = new char * [n];
numbers = new int [n];
input (names , numbers, n);
do {
cout << " Enter Name For Search: " ;
cin.get ();
cin.get ( name , 20 ) ;
index = search(names, n, name);
if (index != -1){
output(numbers, index);
cout << " For a new search press <y>\n" ;
} else
cout << " Not Found, for a new search press <y>\na" ;
key = getch();
}
while (key == 'y');
return 0 ;
}
//************************************************************
void input(char **names, int *numbers, int n){
char *name;
for (int i = 0; i < n; i++){
name = new char [21];
cout << " Enter Name : " ;
cin.get();
cin.get ( name , 20 ) ;
*(names + i) = name;
cout << " Enter Phone Number : " ;
cin >> *(numbers + i);
}
}
int search(char **names, int n, char *name){
for (int i = 0; i < n; i++){
if (strcmp( *(names + i) , name) == 0)
return i;
}
return -1;
}
void output(int *numbers, int index){
cout << " Phone Number is : " ;
cout << *(numbers + index);
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را خوانده مجموع ارقام موجود در رشته را محاسبه كند وچاپ كند.
ج :
#include<iostream.h>
#include<conio.h>
void separat ( char a[] , char b[] , int len ) ;
void change ( char b[] , int arr[] , int len ) ;
void sum ( int arr[] , int len ) ;
int main(){
const int k=11 ;
char a[k] , b[k] ;
int arr[k] ;
clrscr() ;
cout << " Enter string : " ;
cin.get ( a , k ) ;
separat ( a , b , k ) ;
change ( b , arr , k ) ;
sum ( arr , k ) ;
getch() ;
return 0 ;
}
//*********************************************************
void separat ( char a[] , char b[] , int len ){
int i , j=0 ;
for ( i=0 ; i<len ; i++ ){
if ( a >= '0' && a <='9' ){

b[j] = a[i] ;
j++ ;
}
else
{
b[j] ='0' ;
j++ ;
}
}
}
//**********************************************************
void change ( char b[] , int arr[] , int len ){
int i ;
for ( i=0 ; i<len ; i++ ){
arr = b - 48 ;

}
}
//***********************************************************
void sum ( int arr[] , int len ){
int i , p=0 ;
for ( i=0 ; i<len ; i++ ){
p += arr[i] ;
}
cout << " sum = " << p ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيدكه رشته اي را خوانده موارد زير را مشخص كند :
الف) تعداد حروف كوچك ب) تعداد حروف بزرگ
ج) تعداد حروف صدادار د) تعداد ارقام موجود در رشته

ج :
#include<iostream.h>
#include<conio.h>
main(){
char a[100];
int l1=0,l2=0,l3=0,s=0;
clrscr();
cout<<"print your string:\n";
cin>>a;
for(int i=0;a;i++){

if(a>='a'&&a<='z')l1++;

if(a>='A'&&a<='Z')l2++;

if(a>='0'&&a<='9')l3++;

s++;
}
cout<<" "<<l1<<" "<<l2<<" "<<l3<<" "<<s;
getch();
return 0;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيدكه با خواندن تعدادي عدد از ورودي ، آنها را در آرايه قرار دهد.سپس كليه عناصر آرايه را بر عنصر وسط تقسيم كند. اگر عنصر وسط صفر باشد، بر عنصر بعد از عنصر وسط تقسيم كند....................
ج:
#include <iostream.h>
#include <conio.h>
void action(int a[],int loc,int n);
//************************************************
int main()
{
int i,mid,n,a[100],sign=-1;
clrscr();
cout << endl << " Enter n:" ;
cin >> n;
mid=n/2;
for(i=0;i<n;i++)
{
cout << endl << " Enter a[" << i+1 << "]:";
cin >> a;
}
for(i=0;i<=mid;i++)
{
if ( a[mid+(sign*i)]!=0)
{
action(a,mid+(sign*i),n);
break;
}
if (sign==1) i--;
sign=-sign;
}
if(i>mid)
cout << endl << "All element are zero";
getch();
return 0;
}
//************************************************
void action(int a[],int loc,int n)
{
int i;
for (i=0;i<n;i++)
cout << endl << a << " / " << a[loc] << " =" << (float) a/a[loc];
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را از ورودي خوانده ،تمام كلمات چهار حرفي آن را باكلمه "love " جايگزين كند.مثلاً رشته "I hate you,you doer "بايد به رشته "I love you, you love "تبديل شود.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void Replace( char a[] , char b[]) ;
int main(){
const int k=100;
char a[k], b[k];
clrscr() ;
cout << " Enter string : " ;
cin.get ( a , k ) ;
strcat(a, " ");
Replace( a , b) ;
cout << b;
getch() ;
return 0 ;
}
//************************************************************
void Replace( char a[] , char b[]){
char word[25];
int i , j = 0, p = 0 ;
b[0] = 0;
for ( i=0 ; i<strlen(a) ; i++ ) {
if ( a[i] == ' '){
word[j] = 32;
word[j + 1] = 0;
if ((i - p) == 4)
strcat(b , "love ");
else
strcat(b , word);
p = i + 1;
j = 0;
}
else
{
word[j] = a[i];
j++;
}
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را از ورودي خوانده ،تمام كلمات چهار حرفي آن را باكلمه "love " جايگزين كند.مثلاً رشته "I hate you,you doer "بايد به رشته "I love you, you love "تبديل شود.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void Replace( char a[] , char b[]) ;
int main(){
const int k=100;
char a[k], b[k];
clrscr() ;
cout << " Enter string : " ;
cin.get ( a , k ) ;
strcat(a, " ");
Replace( a , b) ;
cout << b;
getch() ;
return 0 ;
}
//************************************************************
void Replace( char a[] , char b[]){
char word[25];
int i , j = 0, p = 0 ;
b[0] = 0;
for ( i=0 ; i<strlen(a) ; i++ ) {
if ( a[i] == ' '){
word[j] = 32;
word[j + 1] = 0;
if ((i - p) == 4)
strcat(b , "love ");
else
strcat(b , word);
p = i + 1;
j = 0;
}
else
{
word[j] = a[i];
j++;
}
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را از ورودي خوانده ،تمام كلمات چهار حرفي آن را باكلمه "love " جايگزين كند.مثلاً رشته "I hate you,you doer "بايد به رشته "I love you, you love "تبديل شود.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void Replace( char a[] , char b[]) ;
int main(){
const int k=100;
char a[k], b[k];
clrscr() ;
cout << " Enter string : " ;
cin.get ( a , k ) ;
strcat(a, " ");
Replace( a , b) ;
cout << b;
getch() ;
return 0 ;
}
//************************************************************
void Replace( char a[] , char b[]){
char word[25];
int i , j = 0, p = 0 ;
b[0] = 0;
for ( i=0 ; i<strlen(a) ; i++ ) {
if ( a[i] == ' '){
word[j] = 32;
word[j + 1] = 0;
if ((i - p) == 4)
strcat(b , "love ");
else
strcat(b , word);
p = i + 1;
j = 0;
}
else
{
word[j] = a[i];
j++;
}
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه دو رشته s1 وs2 را از ورودي خوانده ، رشته s1 را در رشته s2 جست وجو كند.خواندن رشته ها توسط تابع اصلي وجست وجو رشته توسط تابعي انجام شود .
ج :

#include<iostream.h>


#include<conio.h>


#include<stdlib.h>


void search(char a[],char b[],int ,int );


void main(){


const int k=20,p=5;


char a[k],b[p];


clrscr();


cout << "enter your strigs:";


cin >> a >> b;


search(a,b,k,p);


}


void search(char a[],char b[],int k,int p){


for(int len=1;b[len];len++);


for(int i=0;i<k;i++){


for(int j=0;j<len & i+j<k; j++){


if(a[i+j]!=b[i])


break ;


if(j==len-1){


cout<<"found.";


getch();


exit(0);


}


}


}


cout<<"not found.";


getch();


}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را از ورودي خوانده ، مشخص كند كه آيا رشته از هر دوطرف كه در نظر گرفته شود يكسان است ياخير . مثلاً رشته "beeb " چنين خاصيتي دارد .
ج :
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
int main(){
const int n=21 ;
char arr[n] ;
clrscr() ;
int i , j=0 , count=0 ;
cout << " Enter string : " ;
cin.get ( arr , n ) ;
for ( i=0 ; arr ; i++ ){

count ++ ;
}
int help=count;
do {
count -- ;
if ( arr[j] == arr[count] )
j++ ;
else{
cout << "no" ;
getch() ;
exit(0);
}
cout << "yes" ;
}while ( j < help/2 ) ;
cout<<"yes";
getch() ;
return 0 ;
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه رشته اي را كه به نقطه ختم مي شود از ورودي خوانده ، كاركترهاي موجود در رشته را به همراه تعداد دفعات تكرار آنها به خروجي ببرد.
ج :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void Calc( char a[]) ;
int main(){
const int k=100;
char a[k];
clrscr() ;
cout << " Enter string : " ;
cin.get ( a , k , '.') ;
Calc( a ) ;
getch() ;
return 0 ;
}
//************************************************************
void Calc( char a[]){
int ar[30];
int i;
char c;
for ( i=0 ; i<30 ; i++ )
ar = 0;

for ( i=0 ; i<strlen(a) ; i++ )
ar[ (a - 97)]++;

for ( i=0 ; i<30 ; i++ )
if (ar != 0)

{
c = i + 97;
cout << c << " " << ar << "\n";

}
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه تعداد عددرا از ورودي خوانده ، آنهارا به طور مرتب در آرايه اي قراردهد (دقت داشته باشيد كه اعدد درموقع قرار گرفتن در آرايه ،به طور صعودي مرتب باشند )،سپس آرايه مرتب رابه خروجي ببرد.
ج :
#include<iostream.h>
#include<conio.h>
void input ( int [] , int ) ;
void bubble ( int [] , int ) ;
void output ( int [] , int ) ;
int main(){
const int k = 10 ;
int arr[k] ;
clrscr() ;
cout << " Enter arrey : " ;
input ( arr , k ) ;
bubble ( arr , k ) ;
output ( arr , k ) ;
getch() ;
return 0 ;
}
void input ( int arr[] , int k ){
int i ;
for ( i=0 ; i<k ; i++ ){
cin >> arr[i] ;
}
}
void bubble ( int arr[] , int k ){
int i , j , temp ;
for ( i=k-1 ; i>0 ; i-- ){
for ( j=0 ; j<i ; j++ ){
if ( arr[j] > arr[j+1] ){
temp = arr[j] ;
arr[j] = arr[j+1] ;
arr[j+1] = temp ;
}
}
}
}
void output ( int arr[] , int k ){
int i ;
for ( i=0 ; i<k ; i++ ){
cout << arr[i] ;
}
}
 

حــامد

مدیر بازنشسته
کاربر ممتاز
برنامه اي بنويسيد كه يك عدد 20رقمي را باعدد 20رقمي صحيح ديگر جمع كند براي اين منظور ،هر يك از دو عدد رابه صورت رشته اي از ورودي بخوانيد. سپس هر كاراكتر را به رقم معادل آن تبديل كرده در يك عنصر آرايه قرار دهد وهر عدد را به همين روش در آرايه ذخيره نمايد .(هر عدد در يك آرايه ). سپس حاصل جمع اين آرايه دو عدد 20رقمي را محاسبه كرده ،در خروجي چاپ كنيد . تابعي براي خواندن رشته ها ،تابعي براي تبديل كاراكتر به رقم ،تابعي براي انجام عمل جمع وتابعي براي چاپ عدد بنويسيد.
ج :
#include<iostream.h>
#include<conio.h>
const int n = 20;
void input ( char a[] , char b[] , int len );
void chang ( char a[] , char b[] , int len , int arr1[], int arr2[]);
void sum ( int a[] , int b[] , int len , int c[]);
void output ( int c[] , int len );
void main(){
char a[n + 1] , b[n + 1] ;
int arr1[n], arr2[n], arr3[n + 1];
clrscr() ;
input ( a , b , n ) ;
chang ( a , b , n , arr1, arr2);
sum ( arr1 , arr2 , n , arr3);
output ( arr3 , n + 1 );
getch() ;
}
//********************************************************
void input ( char a[] , char b[] , int len ){
cout << " Enter number 1 : " ;
cin >> a ;
cout << " Enter number 2 : " ;
cin >> b ;
}
//*********************************************************
void chang ( char a[] , char b[] , int len , int arr1[], int arr2[]){
int i;
for ( i=0 ; i<len ; i++ ){
arr1 = a - 48;

arr2 = b - 48;

}
}
//*********************************************************
void sum ( int a[] , int b[] , int len , int c[]){
int m , temp = 0;
do{
len--;
m = a[len] + b[len] + temp ;
if ( m > 9 ) {
c[len + 1] = m - 10 ;
temp = 1 ;
}
else{
c[len + 1] = m;
temp = 0 ;
}
} while ( len != 0 ) ;
c[0] = temp;
}
//**********************************************************
void output ( int c[] , int len ){
int i ;
if (c[0] != 0)
cout << c[0];
for ( i=1 ; i<len ; i++ ){
cout << c[i] ;
}
}
 

Similar threads

بالا