Array[1000] এর সবগুলো ইনডেক্সের মান শূন্য করবো কীভাবে?
আপনি যদি অ্যারে গ্লোবালি (ফাংশনের বাইরে) ডিক্লেয়ার করেন তাহলে সবগুলো ইনডেক্সের মান শূন্য হয়ে যাবে।
// Declare Header File
int arr[1000];
int main()
{
int i;
for( i=0;i<=9;i++)
printf("%d",arr[i]);
return 0;
memset কিওয়ার্ড ব্যবহার করে করা যায় । memset(Array_Name, 0, sizeof(Array_Name));
memset কিওয়ার্ড ব্যবহার করে করা যায় । memset(Array_Name, 0, sizeof(Array_Name));
এভাবে লিখলেই Array এর সবগুলো ইলিমেন্ট 0 হয়ে যাবে । তবে একটা বিষয় জেনে
রাখা ভালো আপনি এই পদ্ধতিতে কেবল একটা সম্পূর্ন Array এর মান 0 / -1 দিয়ে
পূর্ন করতে পারবেন । অন্যান্য কোন ভ্যালু দিয়ে পূর্ন করতে চাইলে আপনাকে
অবশ্যই লুপ চালিয়ে assign করতে হবে -for(i=0; i<=size_of_array; i++) {
Array[i] = Value_as_you_want;
}
আরেকটা সমাধান এরকমঃ
#include<stdio.h>
main()
{
int array[100] = {0}; // all array elements are zero
int i;
for(i = 0; i<100 ; i++)
{
printf("%d\n",array[i]);
}
}
সি প্লাস প্লাসে
ভ্যালু আসাইন শুরু হবে।
fill_n()
ফাংশন দিয়েও এটি করা যায়। ফাংশনটি তিনটা প্যারামিটার নেয় ১ম প্যারামিটার = যে ইনডেক্স থেকে একটি নির্দিষ্ট ভ্যালু আসাইন শুরু হবে।এখন
২য় প্যারামিটার = কয়টা ইনডেক্সের ভ্যালু পরিবর্তন হবে।
৩য় প্যারামিটার = ইনডেক্সগুলোতে যে ভ্যালুটি রাখা হবে।
fill_n()
দিয়ে আপনার সমস্যার সমাধান করা যায় এভাবে-fill_n(Array, 1000, 0);
১ম প্যারামিটারে শুধু অ্যারে ভ্যারিয়েবলটার নাম লিখলে বাই-ডিফল্ট শূন্য ইনডেক্স থেকেভ্যালু আসাইন শুরু হবে।
#include<stdio.h> main() { int array[100] = {0}; // all array elements are zero int i; for(i = 0; i<100 ; i++) { printf("%d .",i); printf("%d\n",array[i]); } }
No comments