برنامه ای بنویسید......

وضعیت
موضوع بسته شده است و نمی‌توان پاسخ جدیدی فرستاد.

mohamad70

کاربر عضو
با سلام

به کمک while, if, و یک شمارنده

برنامه ای بنویسید که یک عدد را بگیرد و در خروجی چاپ کند که این عدد چند بار تکر شده است؟

مثلا عدد 2556 رو وارد کنیم و عدد 5 بزنیم و تو خروجی بنویسه 2بار تکرار شد2 یا 7 بنویسه0 بار

ممنون

 

zegersot

کاربر عضو
کد:
<?php
$adad='35654';
$serch='5';
while($adad!=0)
{
$r=$adad%10;
if($r==$serch)
$i++;
$adad=intval($adad/10);
}
echo $i;
?>
بفرمایید :)

موفق باشید

 

homayon574

کاربر عضو
پاسخ داده شد توسط zegersot عزیز ! (دندان شکن با لبخند ملیح :دی)

خارج از اینکه پاسخ داده شده راهکار دیگه ای هم هست اگر از دیدگاه پیچشی مسئله نگاه کنیم

راه دیگه هم اینجوری میشه به نظرم


کد:
<?php
$ipt = '2556'; // ipt = Input
$s = '5'; // s = Search
//$c = 0; //(Arbitrary)
$spliter = str_split($ipt);
while ($w/* w = Word */ = $spliter[1 * $i++]) if($w == $search) $c++;
echo $c; // c = Count
?>
البته از دیدگاه غیر پیچشیشو نگاه کنیم php یک تابع محلی یا بومی(native) برای این کار در نظر گرفته که اسمش substr_count و دیگه نیاز به عملیات پیچشی نداره ! مثال :


کد:
<?php
$input = '2556';
$search = '5';
echo substr_count($input, $search);
?>
 

homayon574

کاربر عضو
[رفع خطا]

الان یه نکته ای توجهم رو جلب کرد این کد های زده شده همگی ضریب خطای بالایی دارن چون دامنه ورودی گفته نشده و فقط یه عدد رو مثال زده مثلا اگر ورودی 1256 باشه و کاراکتر(ها) 56 باشن کد ها عمل نمی کنن پس این کد رو هم همینجوری میگم ضریب خطاش در هر شرایطی و با هر دامنه ای معقول تره


کد:
$input = '32165798413210230354513510.52146 1524185415241524151dft5er41tgr52g1dr52g41drfd10g';
$search   = '46 ';
while($input) {
    if($pos = stripos($input, $search)) {
        $input = substr_replace($input, '', $pos, strlen($search));
        $i++;
    } else {
        break;
    }
}
echo $i;
 

mohamad70

کاربر عضو
ببخشید یادم رفت،با زبان c++ باشه

عدد 5 مثال بود،هر عددی وارد کنیم یه پیغامی بده

 
آخرین ویرایش توسط مدیر:

zegersot

کاربر عضو
c++


کد:
#include <iostream.h>
void main()
{
int adad='35654';
int serch='5',r,i;
while(adad!=0)
{
r=adad%10;
if(r==serch)
i++;
adad=intval(adad/10);
}
cout<<i<<endl;
}
 

mohamad70

کاربر عضو
c++

کد:
#include <iostream.h>
void main()
{
int adad='35654';
int serch='5',r,i;
while(adad!=0)
{
r=adad%10;
if(r==serch)
i++;
adad=intval(adad/10);
}
cout<<i<<endl;
}
--------------------------------------------------------------------------------------------------------------------------------

ممنون

ولی عرض کردم هر عدد دلخواهی که خواستم رو به برنامه بدم مثلا 5653 یا 23 یا 12235 یا789654و یا .......هرعدی وبعد بهم بگه یه عدد وارد کن که ببینه چندتا مثلا 1 یا 2 یا 9 یا .....

خیلی عجله دارم باید تا فردا تحویل بدم

 

zegersot

کاربر عضو
بیا !

شما تو کلاس چکار میکنید :|


کد:
#include <iostream.h>
void main()
{
int adad,serch,r,i;
cin>>"Adade morede nazar ra vared konid=">>adad;
cin>>"search=">>serch;
while(adad!=0)
{
r=adad%10;
if(r==serch)
i++;
adad=intval(adad/10);
}
cout<<i<<endl;
}
 
وضعیت
موضوع بسته شده است و نمی‌توان پاسخ جدیدی فرستاد.
بالا