Tag Archives: Object

Sort objects stored in deque

Huge Sell on Popular Electronics

/* The following code example is taken from the book
 * "The C++ Standard Library - A Tutorial and Reference"
 * by Nicolai M. Josuttis, Addison-Wesley, 1999
 *
 * (C) Copyright Nicolai M. Josuttis 1999.
 * Permission to copy, use, modify, sell and distribute this software
 * is granted provided this copyright notice appears in all copies.
 * This software is provided "as is" without express or implied
 * warranty, and with no claim as to its suitability for any purpose.
 */
#include <iostream>
#include <string>
#include <deque>
#include <set>
#include <algorithm>
using namespace std;


/* class Person
 */
class Person {
  private:
    string fn;    // first name
    string ln;    // last name
  public:
    Person() {
    }
    Person(const string& f, const string& n)
     : fn(f), ln(n) {
    }
    string firstname() const;
    string lastname() const;
    // ...
};

inline string Person::firstname() const {
    return fn;
}

inline string Person::lastname() const {
    return ln;
}

ostream& operator<< (ostream& s, const Person& p)
{
    s << "[" << p.firstname() << " " << p.lastname() << "]";
    return s;
}


/* binary function predicate:
 * - returns whether a person is less than another person
 */
bool personSortCriterion (const Person& p1, const Person& p2)
{
    /* a person is less than another person
     * - if the last name is less
     * - if the last name is equal and the first name is less
     */
    return p1.lastname()<p2.lastname() ||
           (p1.lastname()==p2.lastname() &&
            p1.firstname()<p2.firstname());
}

int main()
{
    // create some persons
    Person p1("nicolai","josuttis");
    Person p2("ulli","josuttis");
    Person p3("anica","josuttis");
    Person p4("lucas","josuttis");
    Person p5("lucas","otto");
    Person p6("lucas","arm");
    Person p7("anica","holle");

    // insert person into collection coll
    deque<Person> coll;
    coll.push_back(p1);
    coll.push_back(p2);
    coll.push_back(p3);
    coll.push_back(p4);
    coll.push_back(p5);
    coll.push_back(p6);
    coll.push_back(p7);

    // print elements
    cout << "deque before sort():" << endl;
    deque<Person>::iterator pos;
    for (pos = coll.begin(); pos != coll.end(); ++pos) {
        cout << *pos << endl;
    }

    // sort elements
    sort(coll.begin(),coll.end(),    // range
         personSortCriterion);       // sort criterion

    // print elements
    cout << "deque after sort():" << endl;
    for (pos = coll.begin(); pos != coll.end(); ++pos) {
        cout << *pos << endl;
    }
}

/*
deque before sort():
[nicolai josuttis]
[ulli josuttis]
[anica josuttis]
[lucas josuttis]
[lucas otto]
[lucas arm]
[anica holle]
deque after sort():
[lucas arm]
[anica holle]
[anica josuttis]
[lucas josuttis]
[nicolai josuttis]
[ulli josuttis]
[lucas otto]

 */

পিএইচপি ৫ ডাটা টাইপ (PHP 5 Data Types)

Huge Sell on Popular Electronics

আক্তারুজ্জামান

Department of CSE, University of Chittagong
ভেরিয়েবল বিভন্ন রকমের ডাটা স্টোর করতে পারে, এবং বিভন্ন ডাটা টাইপ বিভন্ন রকম কাজ করে। পিএইচপি নিচে উল্লেখিত ডাটা টাইপ গুলো সাপোর্ট করে।

স্ট্রিং (String):

স্ট্রিং তৈরি হয় এক বা একাধিক ক্যারেক্টার মিলে । সোজা কথায় স্ট্রিং হচ্ছে ক্যারেক্টারের সমষ্টি । যেমনঃ “Hello World” হচ্ছে একটি স্ট্রিং।
ডাবল কিংবা সিঙ্গল কোট ব্যবহার করে স্ট্রিং (string) ভেরিয়েবল তৈরি করতে হয়।
উদাহরণঃ


 <?php 
 $x = "Hello world!";
 $y = 'Hello world!';
 
 echo $x;
 echo "<br>"; 
 echo $y;
 ?>

এইখানে $x এবং y হল দুটি string টাইপ ভেরিয়েবল

 

ইন্টিজার (integer)

ইন্টিজার মানে হল পূর্ণ সংখ্যা । এইটি -2,147, 483, 648 এবং +2, 147, 483, 647 এর মধ্যে যে কোন একটি সংখ্যা হতে পারে। নিচের উদাহরণে $x হল একটি ইন্টিজার (integer) টাইপের ভেরিয়েবল।


<?php 
 $x = 5985;
 var_dump($x);
 ?>

var_dump() ফাংশনটি ডাটা টাইপ এবং মান রিটার্ন করে।

 

ফ্লোটিং পয়েন্ট (Float)

ফ্লোট হল একটি decimal point নাম্বার। নিচের উদাহরণে $x হল একটি ফ্লোট টাইপের ভেরিয়েবল।


<?php 
 $x = 10.365;
 var_dump($x);
 ?>

 

বুলিয়ান (boolean)

কোন কিছু সত্য না মিথ্যা তা প্রকাশ করার জন্য বুলিয়ান ডাটা টাইপটি ব্যাবহার করা হয়।বুলিয়ান এর দুইটি মান হতে পারে – true অথবা false
উদাহরনঃ


$x = true
$y = false

 

এ্যারে (Array)

একটি সিঙ্গেল ভেরিয়েবলে একের অধিক মান স্টোর করার জন্য এ্যারে ব্যাবহার করা হয়। নিচের উদাহরণে $cars হল একটি এ্যারে।


<?php 
 $cars = array("Volvo","BMW","Toyota");
 var_dump($cars);
 ?>

এইখানে $cars এ্যারেতে তিনটি স্ট্রিং টাইপের মান রয়েছেঃ
Volvo, BMW এবং Toyota।

 

অবজেক্ট টাইপ (Object)

কোন নির্দিষ্ট একটি ক্লাসের instance কে অবজেক্ট বলা হয়। অবজেক্ট হচ্ছে ভেরিয়েবল এবং ফাংশন এর সমস্টি। অবজেক্ট ইন্সট্যান্স তৈরি করতে হয় new কিওয়ার্ডটি ব্যবহার করে।
উদাহরনঃ


<?php
 class Car {
     function Car() {
         $this->model = "VW";
     }
 }
 
 // create an object
 $herbie = new Car();
 
 // show object properties
 echo $herbie->model;
 ?>

 

নাল টাইপ (Null)

নাল একটি বিশেষ ধরণের ডাটা টাইপ যেটার মান হতে পারে শুধুমাত্র একটি- এবং এইটি হল null । একটি ভেরিয়েবলে কোন মান এসাইন করা না হলে ওইটাকে নাল ডাটা টাইপের ভেরিয়েবল বলা হয়।
উদাহরনঃ


<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>


এইখানে $x হল একটি নাল টাইপের ভেরিয়েবল।

অ্যাঙ্গুলার জেএস এক্সপ্রেশন (AngularJS Expressions in Bangla)

Huge Sell on Popular Electronics

অ্যাঙ্গুলার জেএস (AngularJS) এক্সপ্রেশন (Expressions)

Article By: Protap Chandra

 

AngularJS Expressions ব্যবহার করে HTML এর সঙ্গে ডাটা আবদ্ধ (bind) করা হয়।

AngularJS expression দ্বিতীয় বন্ধনীর ভেতর লেখা হয়: {{ expression }}.

expression HTML এর সঙ্গে ng-bind directive এর মতো একই ভাবে ডাটা আবদ্ধ করে।

ঠিক যেখানে expression লেখা হবে সেখানেই AngularJS আউটপুট প্রদান করবে।

AngularJS expression এর সঙ্গে JavaScript expression এর মিল পাওয়া যায়: এরা literals, operators এবং variables ধারণ করতে পারে।

যেমন: {{ 5 + 5 }} or {{ firstName + " " + lastName }}

 

AngularJS Expressions এর উদাহরণ:


<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="">
  <p>My first expression: {{ 5 + 5 }}</p>
</div>

</body>
</html>

 

ফলাফল :


My first expression: 10


 

 

আপনি যদি ng-app directive অপসারণ করেন, তাহলে HTML এখানকার expression কে হুবহু প্রদর্শন করবে। যুক্তিটির সমাধান করবে না।

ng-app directive ছাড়া AngularJS উদাহরণ:


<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div>
  <p>My first expression: {{ 5 + 5 }}</p>
</div>

</body>
</html>

ng-app directive ব্যবহার না করায় এই উদাহরণের ‌‌আউপুট আসবে: My first expression: {{ 5 + 5 }}

 

AngularJS Numbers

AngularJS number ঠিক JavaScript number এর মতোই।

উদাহরণ:


<div ng-app="" ng-init="quantity=1;cost=5">

<p>Total in dollar: {{ quantity * cost }}</p>

</div>

 

এই উদাহরণের আউটপুট আসবে :


Total in dollar: 5


ng-bind ব্যবহার করে একে ভিন্নভাবে লেখা যায়:


<div ng-app="" ng-init="quantity=1;cost=5">

<p>Total in dollar: <span ng-bind="quantity * cost"></span></p>

</div>

 

AngularJS Strings

AngularJS string ঠিক JavaScript string এর মতোই

উদাহরণ:


<div ng-app="" ng-init="firstName='John';lastName='Doe'">

<p>The name is {{ firstName + " " + lastName }}</p>

</div>

 

এই উদাহরণের আউটপুট আসবে:


The name is: John Doe


 

ng-bind ব্যবহার করে উদারহণটি এভাবে লেখা যায়:


<div ng-app="" ng-init="firstName='John';lastName='Doe'">

<p>The name is <span ng-bind="firstName + ' ' + lastName"></span></p>

</div>

এখানেও একই আউটপুট আসবে।

 

AngularJS Objects

AngularJS objects ঠিক JavaScript object এর মতো

উদাহরণ:


<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>নাম হল: {{ person.lastName }}</p>
</div>

 

এই উদাহরণের আউটপুট আসবে:


নাম হল: Doe


ng-bind ব্যবহার করে উদারহরণটি এভাবে লেখা যায়:


<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>নাম হল: <span ng-bind="person.lastName"></span></p>
</div>

 

এখানেও একই আউটপুট আসবে।

 

AngularJS Arrays

AngularJS array ঠিক JavaScript array এর মতো।

উদাহরণ:


<div ng-app="" ng-init="points=[1,15,19,2,40]">

<p>তৃতীয় অবস্থানে আছে: {{ points[2] }}</p>

</div>


 

উদাহরণে আউটপুট আসবে:


তৃতীয় অবস্থানে আছে 19.


 

 

ng-bind ব্যবহার করে উদাহরণটি এভাবে লেখা যায়:


<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>তৃতীয় অবস্থানে আছে <span ng-bind="points[2]"></span></p>
</div>

 

আশা করি খুব সহজে আপনারা অ্যাঙ্গুলার জেএস (AngularJS) এক্সপ্রেশন (Expressions) শিখতে পেরেছেন।

 

AngularJS Home পেজে যাওয়ার জন্য এখানে ক্লিক করুন