الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استخدام الاستدعاء الذاتي(recursion) لطباعه سلسله حرفيه(string)

بدأه الساحر 89 في 1 أغسطس 2010 · 6 رد · 1,748 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

س/اكتب برنامج بلغه ++c مستخدما الاستدعاء الذاتي (recursion) لطباعه سلسله حرفيه (string) ???

مثل:

input: the bird went of cage الادخال

out put: the bird went of cage الاخراج

ومحاولتي كانت كالاتي الا اني ما نجحت في تخطي مترجم ++c في التنفيذ Run

#include<iostream.h>
#include<string.h>
const int size=10;
void print(char s[size],int l)
{l=strlen(s);
 int z=l-1;
 if(z>=0)
 s[l]='\0'; // end of string
 else
 {int a=0;
 print(s,l-1);
  char temp=s[a];
		 s[a]=s[z];
		 s[z]=temp;
		 a++;
		 z--;
		 cout<<s[l];
 }
}
void main()
{char s[size];int l;
 cout<<"enter string:"<<endl;
 cin>>s;
 print(s,l);}

وشكرا لكل من يساهم ولو بفكره معينه كل الشكر والتقدير الى جميع الاعضاء في المنتدى ..........

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 2 أغسطس 2010 في 04:17 — السبب: ياريت نستخدم تاج الكود

#2

هذا كود جديد كتبته وتم فحصه وهو شغال، ارجوا ان يساعدك: :cool:

#include <iostream.h>
#include <stdio.h>

void my_func(char str[],int);

void main()
{
 char mystr[]="the bird went of cage";
 my_func(mystr,0);
}

void my_func(char str[],int i)
{
 if(str=='\0') return;
 printf("%c",str);
 my_func(str,++i);
}
#3

كل الشكر والتقدير اخي Mohammad Alsadek لكني غير فاهم لهذا الكود [printf("%c",str[i الذي ما مر علينا في المحاضر ات ارجو منك ومن اعضاء المنتدى اعطائي حل اخر ولكم مني كل الشكر  والتقدير

#4

هذا الكود بعد التعديل:

#include <iostream.h>
void my_func(char str[],int i)
{
 if(str=='\0') return;
 cout<<str;
 my_func(str,++i);
}
void main()
{
 char mystr[]="the bird went of cage";
 my_func(mystr,0);
}

سلامي :)

#5

مشكووووووووور :

printf دالة تم استخدامها في لغة C وتم تبديلها (او بالأحرى تم اضافة دالة اخرى) وهي cout في لغة الـ C++

تم تعديل هذه المشاركة بواسطة Mohammad Alsadek في 1 أغسطس 2010 في 19:21

#6
Mohammad Alsadek كتب:

مشكووووووووور :

printf دالة تم استخدامها في لغة C وتم تبديلها (او بالأحرى تم اضافة دالة اخرى) وهي cout في لغة الـ C++

فقط تصويب بسيط لخطأ كبير هع

cout و cin ليست دوال اطلاقا!!!

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#7

كل الشكر والتقدير الى الاخ المحترم Mohammad Alsadek والاخ الفاضل khaled_prg والاخ A.S Hack شكرا لكم

مواضيع مشابهة