دریافت آرایه ای پویا از اعداد و جایگزین کردن اعداد اول با صفر
سلام به همه دوستان عزیز درسمن


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


من تو این برنامه یه تابع نوشتم که آرایه رو از ورودی میخونه و پر میکنه، تابع دوم یه عدد رو به عنوان ورودی میگیره و اگه اول بود عدد ۱ و اگر اول نبود ۰ رو برمیگردونه، تابع سوم هم کارش صفر کردن اعداد اول آرایه هست که توی اون تابع دوم فراخوانی میشه، تابع چهارم هم آرایه حاصل رو چاپ میکنه




C++

#include<iostream>
#include<conio.h>
using namespace std;

void ReadArray(int *a,int n)
{
 for(int i=0;i<n;i++)
 {
 cout<<"a["<<i+1<<"] : ";
 cin>>a[i];
 }
}
//////////////////////////////////////////////
int Prime(int num)
{
 for(int i=2;i<=num/2;i++)
 if(num%i==0)
 return 0;
 return 1;
}
//////////////////////////////////////////////
void PrimeToZero(int *a,int n)
{
 for(int i=0;i<n;i++)
 {
 if(Prime(a[i])==1)
 {
 a[i]=0;
 }
 }
}
//////////////////////////////////////////////
void PrintArray(int *a,int n)
{
 cout<<"Array is : ";
 for(int i=0;i<n;i++)
 {
 cout<<a[i]<<"\t";
 }
}
//////////////////////////////////////////////
int main()
{
 int n;
 cout<<"Enter number Of array : ";
 cin>>n;
 int *a=new int[n];
 ReadArray(a,n);
 PrimeToZero(a,n);
 PrintArray(a,n);
 return 0;
}



| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | #include<iostream>#include<conio.h>using namespace std; void ReadArray(int *a,int n){ for(int i=0;i<n;i++) { cout<<"a["<<i+1<<"] : "; cin>>a[i]; }}//////////////////////////////////////////////int Prime(int num){ for(int i=2;i<=num/2;i++) if(num%i==0) return 0; return 1;}//////////////////////////////////////////////void PrimeToZero(int *a,int n){ for(int i=0;i<n;i++) { if(Prime(a[i])==1) { a[i]=0; } }}//////////////////////////////////////////////void PrintArray(int *a,int n){ cout<<"Array is  : "; for(int i=0;i<n;i++) { cout<<a[i]<<"\t"; }}//////////////////////////////////////////////int main(){ int n; cout<<"Enter number Of array : "; cin>>n; int *a=new int[n]; ReadArray(a,n); PrimeToZero(a,n); PrintArray(a,n); return 0;} |
سلام


اینکارو رو میتونید با یک تابع انجام بدید، که یه عدد به عنوان ورودی بهش بدید و بیاد تعداد ۰ های عدد داده شده رو محاسبه کنه و اگه ۳ تا ۰ داشت، هزار، ۶ تا ۰ داشت، میلیون و … چاپ کنه.


تابع مورد نظر:






function convertZero(int $number = 0)
{
 if ($number > 999) {
 $divide = (int)($number / 1000);
 $number = $divide;

 if ($divide > 0 && $divide <= 999) {
 return $divide . "هزار تومان";
 } else {
 $divide = (int)($number / 1000);
 return $divide . "ملیون تومان";
 }
 } else {
 return "تومن" . $number;
 }
}



| 12345678910111213141516 | function convertZero(int $number = 0){    if ($number > 999) {        $divide = (int)($number / 1000);        $number = $divide;         if ($divide > 0 && $divide <= 999) {            return $divide . "هزار تومان";        } else {            $divide = (int)($number / 1000);            return $divide . "ملیون تومان";        }    } else {        return "تومن" . $number;    }} |





تا میلیون رو جواب میده، برای میلیارد و …. باز باید بهش اضافه کنی، که اگه متغییر number$ بین چه عددهایی بود، فلان حرف رو بنویسه و الی آخر.


مثال:






echo convertZero(100000);



| 1 | echo convertZero(100000); |





موفق باشید. اعداد گویا اعدادی هستند که یا بسط اعشاری آنها مختوم وپایان پذیر باشد و یا نامختوم و متناوب است در مورد این عدد بسط اعشاری با ماشین حساب های کامپیوتری اگر حساب کنید اینطور به دست میاد :



$3. \overline{0973451327433628318584070796460176991150442477876106}\cdots\\ 
\cdots \overline{194690265486725663716814159292035398230088495575221238938053} $

این رو با نرم افزارهایی مثل میپل یا متلب میتونید به دست بیارید . من این عدد رو تا 1000 رقم اعشار در میپل حساب کردم دقیقا از عدد 3 ک آخرین رقم این دوره گردش هست ارقام تکرار میشن بنابراین نباید گول ارقام اعشار اولیه در بسط اعشاری کسرها بخوریم و فکر کنیم که این اعداد چرا مثل اعداد گنگ هستند درحالی که بعضی از اعداد فقط دوره تناوب طولانی تری دارند که به هرحال با محاسبه دستی (اگر خیلی علاقه مندید) یا با ماشین حساب های با دقت بالا به دست می آیند . ابتدا باید کتابخانه های سی پلاس پلاس را فراخوانی نمایید. اصطلاحا به این بخش از کدنویسی سی پلاس پلاس در شروع کدها، **راهنمای پیش پردازنده یا PreProcessor Directive** گفته می شود. باید کتابخانه را **include** کرد. برای اینکلود ابتدا از علامت مربع یا شارپ **#** استفاده می شود و در ادامه در میان علامت کوچکتر و بزرگتر **< >** نام کتابخانه مورد نظر قرار می گیرد. کتابخانه پر استفاده در سی پلاس پلاس، کتابخانه **iostream** است.


 sample **#include<iostream>** sample


**نکته:** دقت فرمایید در برخی موارد باید در انتهای نام کتابخانه، نقطه و سپس حرف **h** را قراردهید.


 sample **#include<iostream.h>** sample فرمول‌های زیادی برای رابطهٔ بین یک عدد مختلط چه در مختصات دکارتی چه در مختصات قطبی و ریشه‌هایش می‌توانید بنویسید. برای چند نمونه می‌توانید به پیوند زیر نگاه بیندازید.


[پیوند به چند نمونه فرمول برای جذر اعداد مختلط](https://math.stackexchange.com/questions/44406/how-do-i-get-the-square-root-of-a-complex-number)


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


من اینطور عمل کردم؛
برای دامنه از نمادهای $z=x+iy=re^{i\theta}$ و برای هم‌دامنه از نمادهای $f(z)=u+iv=se^{i\theta}$ استفاده کردم. یک نقطه از دیسک واحد به شکلِ $re^{i\theta}$ نوشته‌ می‌شود که $0\leq r\leq 1$ (توجه کنید که دیسک واحد باز یا بسته همه‌اش تنها در مرز دایره فرق می‌کند، شما می‌توانید مساوی سمت یک را حذف کنید) و $0\leq \theta\leq 2\pi$. اگر با نمایش‌های اعداد مختلط آشنا باشید با یک ساده‌سازی ساده دارید؛
 $$se^{i\phi}=f(re^{i\theta})= \sqrt{(1+r\cos\theta)+i(r\sin\theta)}$$ 
دوباره با توجه به اینکه جذر گرفتن از یک عدد مختلط در مختصات قطبی برابر با نصف کردن زاویه و جذر گرفتن از اندازه و قرار دادن یک مثبت‌منفی است با کمک رابطهٔ نمایش اعداد مختلط و کمی ساده‌سازی می‌فهمید که؛
 $$s=\pm\sqrt{\sqrt{r^2+1+2r\cos\theta}},\quad \phi=\frac{1}{2}\arctan(\frac{r\sin\theta}{1+r\cos\theta})$$ 
و
 $$u=s\cos\phi,\quad v=s\sin\phi$$ 
از طرفی برای خود دامنه هم داریم؛
 $$x=r\cos\theta,\quad y=r\sin\theta$$ 
پس برای رسم نمودار در Python به صورت کاملا از پایه (تنها از توابع sqrt و arctan2 و sin و cos که در library پیش‌فرضِ math در Python موجود هستند استفاده کردم) و با نقطه‌نقطه نگاری برای تعداد $10^4$ نقطه (یعنی بازهٔ $[0,1)$-ِ $r$ را ۱۰۰ قسمت و بازهٔ $[0,2\pi)$ -ِ $\theta$ را نیز ۱۰۰ قسمت مساوی و سپس $(x,y)$ و $(u,v)$ را با رابطه‌های بالا برای هر انتخاب از $(r,\theta)$ محاسبه) بوسیلهٔ library نگارندهٔ matplotlib شکل یکُم را رسم کردم که کمتر از یک ثانیه اجرایش طول می‌کشد. در سمت راست دامنه را می‌بینید و در سمت چپ تصویر تابع از این دامنه. تصویر هر نقطه دو نقطه است که با همان رنگ نمایش داده شده است، پس می‌توانید نقاط را دنبال کنید. مثلا وقتی قرار می‌دهید $z=0$ دارید $f(z)=\pm 1$ که در شکل سوم با فلش‌های نیلی‌رنگ مشخص کردم.


برای اینکه پیوستگی شکل بیشتر بشود و به کل شکل نزدیک‌تر شویم باید مقدار تقسیم‌بندی‌ها را افزایش دهیم. شکل دوم برای $10^6$ یعنی هر یک از بازه‌های $r$ و $\theta$ ۱۰۰۰ بخش، می‌باشد. البته مدت زمان محاسبات ۱۰۰ برابر می‌شود پس تقریبا یک دقیقه وقت نیاز است ولی مشکل اصلی بحث گرافیکی می‌شود که کمی برای پایتون سنگین می‌شود (امکان گرفتن پیام خطای not responding وابسته به مشخصات رایانه‌تان هست).


یک نکتهٔ مهم دیگر این است که زمانی‌که دیسک باز را در نظر می‌گیرید نقطهٔ $(0,0)$ را در تصویر نخواهید داشت (چون تصویر نقطهٔ $(-1,0)$ است که بر روی مرز دیسک قرار دارد و این تنها نقطهٔ وصل کنندهٔ دو شاخهٔ راست و چپ تصویر است. بسادگی می‌توانید ثابت کنید که تصویر دیسک باز توسط این نگاشت ناهمبند می‌شود.


![](https://math.irancircle.com/?qa=blob&qa_blobid=16301731477472713857)


![](https://math.irancircle.com/?qa=blob&qa_blobid=5363955330809225331)


![](https://math.irancircle.com/?qa=blob&qa_blobid=153630756738491614)


اگر چیزی به نظرتان در شکل درست نیست، لطفا خبر دهید تا کد را بازبینی کنم. سلام و روزتون بخیر.
نرم افزار |after effects::https://cinema.tosinso.com/videos/284| چنین قابلیتی داره و بسته به اینکه ناحیه ای که میخواین رنگ کنین چقدر مشخص باشه حتی میتونه |خودش خودکار این کار رو فریم به فریم انجام بده::https://graphic.tosinso.com/videos/316|. سلام

اول باید متن تون رو توی textbox یا shape بنویسید
بعد روش راست کلیک و format shape
تو قسمت 3D rotation گزینه X rotation رو بزارید رو 180



![](http://s8.picofile.com/file/8338851468/mirror.PNG) خب شما آرایه zarib1 را داخل حلقه for اول تعریف کرده اید. بنابراین این آرایه فقط در داخل همان بلوک قابل دسترس است. پس شکل درست برنامه این است که حلقه دوم را در داخل حلقه اول بنویسید یعنی کد شما به شکل زیر خواهد بود:
<java>
for(int j=0;j<tokens.length;j++)
 { string[] zarib1=tokens[j].split('\\*');
 
 for(int i=0;i<zarib1.length;i++)
 system.out.println(zarib1[i]);
}
<java>
همانطور هم که در پست قبلی گفتم علامت ستاره را باید بعد از دوتا بک اسلش بیاورید. خیر . یکی از قوانین و عرف های جهانی طراحی گرافیک اینه که فایل لایه باز طراحی در اختیار مشتری قرار داده نمیشه. این کار به دلیل حفظ مسئولیت سوء استفاده احتمالی از طرح برای طراحشه. بعد از پایان هر طراحی و دریافت تاییده از مشتری، فایل لایه بسته با کیفیت اصلی در اختیار مشتری قرار میگیره و اختیار تام برای استفاده در هر ابعادی به مشتری داده میشه. برای چاپ در هر ابعادی، نیاز نیست فایل لایه باز داشته باشید.

پروژه های ((طراحی لوگو)) و ((طراحی قالب)) از این قائده مستثنا هستند و فایل لایه بازشون ارائه میشه. سلام عكس سي تي اسكن بگيريد بفرستيد ببينم به خاطر این است که دستور `Solve` به صورت پیش‌فرض برابری‌تان را بر روی عددهای مختلط حل می‌کند. اگر می‌خواهید تنها به عددهای حقیقی محدود شود باید گزینهٔ `Reals` را به انتهایش بیفزائید یعنی



```
Solve[2^x==256,x,Reals]

```

در این صورت خروجی‌تان به شکل زیر می‌شود.


![توضیحات تصویر](https://math.irancircle.com/?qa=blob&qa_blobid=6442501274287503615)


در ضمن اگر به خروجی مختلط نیز نگاه کنید قسمت حقیقیِ پاسخ برابر با ۸ است و برای قسمت موهومی به ازای هر انتخاب صحیح از $c\_1$ یک مقدار متفاوت دارید که یکی از آنها اگر $c\_1=0$ برابر صفر است، پس عدد ۸ در بین پاسخ‌های مختلط دیده می‌شود.