PDA

View Full Version : افزودن 00 میان اعداد



mdanger
چهارشنبه 15 بهمن 1393, 13:54 عصر
سلام دوستان خوبید؟
دوستان چطور میتوانم با سی این بین اعداد یه دو صفر جا بدم مثلا
123456 بشه 001002003004005006
یا مثلا 616263646566بشه 006100620063006400650066

با تشکر:قلب:

ahmad_201494
چهارشنبه 15 بهمن 1393, 17:42 عصر
سلام
توی آرایه g اعداد هست و length هم تعداد اعداد
و خروجی هم آرایه b هست.


int* z(int g[], int length){
int* b = new int[3 * length];
for (int i = 0; i < length; i++)
{
b[3 * i + 0] = 0;
b[3 * i + 1] = 0;
b[3 * i + 2] = g[i];
}
return b;
}

[[[[[[[[[[...]]]]]]]]]]
دوشنبه 04 اسفند 1393, 02:26 صبح
این تابع به زبان C خالصه، سادست، سریعه، و مستقیما روی پارامتر/آرایه items تغییرات لازم رو اعمال می کنه. قبل از اینکه برنامه رو اجرا کنی، مطمئن شو که فضای کافی برای اختصاص دادن حافظه به اشاره گر items داری.
اگر کامپیوتر تو فضای بیشتری داره، مقدار MEMORY_BYTES رو گسترش بده. سعی کن یک نسخه سریعتر از این برای خودت بنویسی.

تابع چهار تا پارامتر داره به نام های:

[]items (آرایه مورد نظرته)
nitems_multby_nnelm (باید مساوی باشه با تعداد عنصر مورد نظر برای اضافه کردن به آرایه (مثلا عدد صفر) + 1 ضربدر تعداد آیتم های درون آرایه []items)
element (عنصر/عدد مورد نظرت برای اضافه کردن به آرایه)
nelement تعداد اون عنصر/عدد





#include <stdio.h> /* for int printf (const char*, ...) */
#include <stdlib.h> /* for void *malloc (size_t), void free (void*), void exit (int), EXIT_SUCCESS */
#include <time.h> /* for clock */

void add_leading_elements (register unsigned int items[], register unsigned int nitems_multby_nnelm, int element, unsigned int nelement)
{
register unsigned int i, nitems = nitems_multby_nnelm/(nelement+1);

while (nitems > 0)
for (items[--nitems_multby_nnelm] = items[--nitems], i = 0; i < nelement; ++i)
items[--nitems_multby_nnelm] = element;
}

#define MEMORY_BYTES 445644800 /* 425 MB of Memory will be allocated. */

int main ()
{
int *items = malloc (sizeof(items)*MEMORY_BYTES);
int nitems, i = 0, element = 0, nelement = 2;

nitems = MEMORY_BYTES/(nelement+1);

do items[i++] = i;
while (i < nitems);

add_leading_elements (items, nitems = (nelement+1)*nitems, element, nelement);

printf ("%i\n\n", clock());

for (i = nitems-1; i >= 0; --i)
printf ("%d\n", items[i]);

free (items);

exit (EXIT_SUCCESS);
}