به وبلاگ برنامه نویسان و توسعه دهندگان PHP در ایران خوش آمدید :)
این وبلاگ در واقع مخلوطیست از وبلاگ و سیاره! یعنی مطالب موجود هم مستقیماً وارد شدند و هم توسط سیستم از وبلاگ شخصی افراد گروه جمع آوری شده.
لطفاً سوالات خوتون رو در بخش انجمن سایت مطرح بفرمایید.
مسئولیت مطالب درج شده در این وبلاگ بعهده نویسنده آن بوده و هیچ گونه ارتباطی با کل گروه ، مدیران و اسپانسر گروه (شرکت پارسی ســرو) نخواهد داشت. لطفاً با گزارش پستهای خلاف قوانین جمهوری اسلامی ایران، ما را در حفظ سلامت محیطی که متعلق به خودتان هست یاری فرمایید.

چند روز پیش یه پروژه قبول کرده بودم که دو عدد با تعداد ارقام زیاد رو با هم جمع و تفرق کنه، به این امید که تو اینترنت این نوع پروژه ها پره ، بعد از قضیه امتحان مهندسی اینترنت که حسابی کلافه شده بودم و سرم درد میکرد ، رفتم دنبال این پروژه و ای دل غافل…

به همه زبونی بود الا اینی که ما میخواستیم. البته پروژه سختی نیست ولی واسه شخصی با سردرد زیاد و حال خراب من فاجعه بود. خلاصه نشستم و نوشتم و گفتم بزارم تا اگه کسی شرایطی مثل ما داشت دعامون کنه!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int k, i, j, ta, tb, max, run, change=0;
string a, b, s;
int[] c = new int[100];
for (i = 0; i < 100; i++)
c[i] = 0;
int[] d = new int[100];
for (i = 0; i < 100; i++)
d[i] = 0;
run = 10;
a = “0″;
b = “0″;
while (run != 0)
{
Console.Write(“\n\t1-For Enter Numer’s.\n\t2-For+\n\t3-For – \n\t0-For Exit!\n\n\tPlease Enter :”);
run = Convert.ToInt32(Console.ReadLine());
if (run == 1)
{
Console.Write(“\tEnter Number 1:”);
a = Console.ReadLine();
Console.WriteLine(” “);
Console.Write(“\tEnter Number 2:”);
b = Console.ReadLine();
}
if (run == 2)
{
ta = a.Length;
tb = b.Length;
if (ta >= tb)
max = ta;
else
max = tb;
for (i = max, j = a.Length – 1, k = b.Length – 1; i > 0; i–, j–, k–)
{
if (j < 0)
ta = 0;
else
ta = a[j] – 48;
if (k < 0)
tb = 0;
else
tb = b[k] – 48;
c[i] += (ta + tb);
c[i - 1] = c[i] / 10;
c[i] = c[i] % 10;
}
Console.Write(“\n\ta+b:\n\t “);
for (i = 0; i <= max; i++)
{
//c[i]+=48;
Console.Write(c[i]);
}
}
if (run == 3)
{
ta = a.Length;
tb = b.Length;
if (ta > tb)
max = ta;
else
max = tb;
Console.Write(“\n\ta-b: “);
if (b.Length > a.Length)
{
change = 1;
s = a;
a = b;
b = s;
}
for (i = max, j = a.Length – 1, k = b.Length – 1; i > 0; i–, j–, k–)
{
if (j < 0) ta = 0;
else ta = a[j] – 48;
if (k < 0) tb = 0;
else tb = b[k] – 48;
d[i] += ta – tb;
if (d[i] < 0)
{
d[i - 1] = -1;
d[i] += 10;
}
}
if (change == 1) Console.Write(“-”);
for (i = 0; i <= max; i++)
Console.Write(d[i]);
}
}
}
}
}

فقط یه نکته اینکه باید این سورس رو در ویژوال استادیو۲۰۱۰ کپی پیست کنید و ضمنا تا شده الگوریتم به شکل آسون در نظر گرفته شده تا فهمش برای همه آسون باشه.
تقاضای برنامه نویسی و حذف و اضافه و ویرایش هم نفرمایید که انجام نمی گردد حتی برای شما دوست عزیز!
اگر این برنامه به دردتون خورد ما رو از دعای خیر فراموش نکنید!

نظر خود را بگویید.