tag:blogger.com,1999:blog-22642282898878769632024-02-07T23:43:24.433-08:00C ,JAVA and TASM Programming Made Easy with Source Codes and TutorialsThis blog aims at helping you learn C, Java and TASM programming languages and thus enabling you to use its immense possibilities in the computing world.It features Step by step instructions on doing a C program ,Complete Source Codes of C, Java and TASM Programs ,sample program downloads,programming tutorials and general tips for programmers.Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.comBlogger76125tag:blogger.com,1999:blog-2264228289887876963.post-5140723945498625512013-07-24T21:32:00.000-07:002018-07-01T12:30:49.173-07:00Which is the Best Photo Watermarking Software<div dir="ltr" style="text-align: left;" trbidi="on">
Photo Theft is becoming more and more common in the web with the outburst of social websites like Facebook,Google Plus and Image sharing services like Picasa,Flickr and PinInterest.<br />
<br />
People may copy the photo posted on your website and use it on their website or on printed materials.<br />
So when it comes to protecting images on the web,there is no better way other than watermarking your photos with a visible watermark.A watermark can be a text or a logo.<br />
So how are you supposed to watermark your photos? Well you can use any image editor and type in the text watermark manually to all images but this is a tiresome task, i would recommend using special tools like Mass Watermark that is designed to do the job quick and fast.Download it from <a href="http://www.masswatermark.com/">http://www.masswatermark.com/</a> Just add your photos from a folder or camera or pen-drive by clicking on add images<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEuY8fSgK_UpVBwMocVAo-I_8diQj8xefar5LLqmzQpqBQVdJtKJbqnTZweoJ0-e4MbMvTxHLBZlWi4RCtNFo3Yb8syAQt3a1AVJHz-SHb0DMXUPXya9A3Edd25UDxWSsdMezoil5xQ6Q/s1600/159.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEuY8fSgK_UpVBwMocVAo-I_8diQj8xefar5LLqmzQpqBQVdJtKJbqnTZweoJ0-e4MbMvTxHLBZlWi4RCtNFo3Yb8syAQt3a1AVJHz-SHb0DMXUPXya9A3Edd25UDxWSsdMezoil5xQ6Q/s1600/159.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can see the images added in the left side panel and the instant preview of the watermarked image is available on the right side.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM3B6UFLxuVdg1Kya1xH5eWoEYT8FqkRXZXStVcSexAiQmKsYn9yEiFApAw3n6Vlzpap22rN4bixvcyaQ1h-zEvwMAjDdthhaUuG852sshCUJfZ1CKs2QzAM-7t-KC4uJerhQ86Wj4vTs/s1600/y.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM3B6UFLxuVdg1Kya1xH5eWoEYT8FqkRXZXStVcSexAiQmKsYn9yEiFApAw3n6Vlzpap22rN4bixvcyaQ1h-zEvwMAjDdthhaUuG852sshCUJfZ1CKs2QzAM-7t-KC4uJerhQ86Wj4vTs/s1600/y.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
Just type in the text watermark and choose its position,you may also add a image watermark,select an Output directory and click on the 'Watermark Images' Button.Simple as that, all your photos will be watermarked with the text or image watermark of your choice.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtWHij1CVtcqlG6sDiQdRhCKwGaHF4mAKpem8OFLi-A6TAPEUFto7G2eeeMthmHQW62QItAMZKao6QIKqLyhvT24g5OCixtOl_9MKva5j3IF91l5pni6SKW_TLxHXJsNBeJPYDh-1rK2o/s1600/161.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="best photo watermark software" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtWHij1CVtcqlG6sDiQdRhCKwGaHF4mAKpem8OFLi-A6TAPEUFto7G2eeeMthmHQW62QItAMZKao6QIKqLyhvT24g5OCixtOl_9MKva5j3IF91l5pni6SKW_TLxHXJsNBeJPYDh-1rK2o/s1600/161.png" title="" /></a><br />
<br />
Mass Watermark is fast and easy to use and boasts of some great features like Batch Resizing,Adding EXIF Data,Direct Export to Flickr/Picasa,Optimization (Brightness,contrast,etc).In my opinion Mass Watermark is the <a href="http://www.masswatermark.com/">best photo watermarking software</a> out there.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipyIJwJQgV89I3sKJlEBdhEaIBSJN2Xh8qYPnuSgkEd1HWTYQT322KgTcnETW1RgmFAfZyTFE768CBCPMcLfYEh-fIG2WlnBonthMiPITeSrSOQ3Px-Tz_SxFZGqRd-fAuIojFLdZVbLc/s1600/slide171.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="photo watermark software windows 7" border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipyIJwJQgV89I3sKJlEBdhEaIBSJN2Xh8qYPnuSgkEd1HWTYQT322KgTcnETW1RgmFAfZyTFE768CBCPMcLfYEh-fIG2WlnBonthMiPITeSrSOQ3Px-Tz_SxFZGqRd-fAuIojFLdZVbLc/s400/slide171.jpg" title="" width="400" /></a></div>
<br />
<br />
<br />
<br /></div>
Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com3tag:blogger.com,1999:blog-2264228289887876963.post-16628076723257914172012-09-28T06:57:00.003-07:002012-09-28T06:57:29.623-07:00Does Microsoft show us a Glimpse of the Future from the Metro Look<div dir="ltr" style="text-align: left;" trbidi="on">
Microsoft has always known what its user needs and has attained massive success introducing products which full fills the trend and requirements.It has recently introduced the Windows 8 and Outlook.Both these products have a common feature the Metro look.<br />
<b><br /></b>
<b>So what is this Metro look and why have they used it?</b><br />
<br />
<br />
<img alt="File:Windows 8 start screen.png" height="225" src="http://upload.wikimedia.org/wikipedia/en/f/f3/Windows_8_start_screen.png" width="400" /><br />
<br />
<br />
<br />
The Metro is a User Friendly Minimalistic and Stylish Graphical User Interface(GUI) Unlike the predecessor Windows versions you can see that there is no Windows start Button and the detailed lists of icons.Everything is clean and minimal.This is a trend that has been absorbed from the growing Android Smartphone and Tablets Market.Windows 8 also aims the users who uses Mobile Devices with touchscreens.The Interface is good and is fluid.<br />
<br />
Microsoft has also done a good job with their Online Mail Service,its also been ported to the Metro Look.<br />
<a href="http://live.com/">Live.com</a> and <a href="http://hotmail.com/">Hotmail.com</a> has been revamped to the simpler and user friendly Mail Service <a href="http://outlook.com/">Outlook.com</a><br />
<br />
These are all very good and the Outlook Mail service is very attractive,Expect it could have been much faster or it could show the loading screen like Gmail do when you open your Mail account.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJin7I30bUMzV7RZOVnr2JTXx2K3ZE4J89tiQUu9XuXg_MWG58qV9yyLd9V6WTcjK0kkxRpKW_1xelYQILysamEPEv0MAasp6KshBZPyCfFjnG4wTCUPrmAkwDFShWo0saCmC1KQsuEXs/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJin7I30bUMzV7RZOVnr2JTXx2K3ZE4J89tiQUu9XuXg_MWG58qV9yyLd9V6WTcjK0kkxRpKW_1xelYQILysamEPEv0MAasp6KshBZPyCfFjnG4wTCUPrmAkwDFShWo0saCmC1KQsuEXs/s400/Capture.PNG" width="400" /></a></div>
<br />
<br />
These all are revolutions in the IT Era-User interfaces are becoming simpler and simpler by time,user hardly needs to do something,its becoming very easy for the naive user.But advanced users might find these simplicity a little annoying as they may be interested to explore Details of the System.<br />
<br />
These all make up an Efficient and Intelligent approach that makes Information Retrival and Information processing a Child's Play and the only doubts remains-Will a time come when computers do all the work that we think of ????<br />
<br />
</div>
Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-42126646347577689892012-08-30T01:36:00.000-07:002012-08-30T01:36:36.605-07:00Java Program to Write Lines of Text to a File + Source Code<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">To learn the Basics of file manipulation in java ,the best way to start is by writing simple code to write some text to file.The following is a sample program that writes text to file using <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/BufferedWriter.html">BufferedWriter</a> Class</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">It uses the File Class to open the File to the BufferedWriter Class,which writes some sample text to the file.The main class used is the <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Writer.html">Writer Class</a> intended for writing stream data to files.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Below is the complete source Code to implement a Simple File Writer in Java</span><br />
<br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> import java.io.*;
public class FileWriter {
public static void main(String[] args)throws IOException{
String towrite = "Hello World";
Writer data = null;
File file = new File("myfile.txtt");
data = new BufferedWriter(new FileWriter(file));
data.write(text);
data.close();
System.out.println("Text Written");
}
}
</code></pre>
</div>
Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com1tag:blogger.com,1999:blog-2264228289887876963.post-66132837933696841532012-08-08T21:39:00.002-07:002012-08-08T21:41:05.429-07:00How to set the Java Compiler path for direct running from command Line<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">There is an easy way to set the Java Compiler Path(javac.exe) and Java Interpreter path(java.exe)without typing long lines of command.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">The following are steps to set the JDK(Java Development Kit) path easily</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">1.Click on Start</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">2.Right Click on Computer>Properties</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">3.Click on Advanced System Settings</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">4.Click on Environmental Variables Button</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEillWLAV4xn8Ujcz7RZvMC_9Am-sUfOQTE_7gEMQwWFrgEGT3Fo2twYDJmeJ56XoWD9kwFQwMm2rkM9aHY3vbuh99Fqbsq84-X3QWBrGhQ_cabSdhb19I1_VnrhX7hzomMozzQg4siHevg/s1600/java_path_windows_jdk_compiler.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEillWLAV4xn8Ujcz7RZvMC_9Am-sUfOQTE_7gEMQwWFrgEGT3Fo2twYDJmeJ56XoWD9kwFQwMm2rkM9aHY3vbuh99Fqbsq84-X3QWBrGhQ_cabSdhb19I1_VnrhX7hzomMozzQg4siHevg/s320/java_path_windows_jdk_compiler.PNG" width="287" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVd1htLqImWCi_TLLTwBZrjCcxgZ3b2jH5PI186H1pFkQQitEatvme930QSzyXuzz8Ioj55lpz7FHXkdbByacrZ012yKnYzTx9W9K_1jPPwTi8za3OJvIHyjes-qqXilKTYid_Vv4mdvw/s1600/setting+java+jdk+path.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></span></div>
<br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">5.Click on New</span><br />
<br />
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVd1htLqImWCi_TLLTwBZrjCcxgZ3b2jH5PI186H1pFkQQitEatvme930QSzyXuzz8Ioj55lpz7FHXkdbByacrZ012yKnYzTx9W9K_1jPPwTi8za3OJvIHyjes-qqXilKTYid_Vv4mdvw/s1600/setting+java+jdk+path.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVd1htLqImWCi_TLLTwBZrjCcxgZ3b2jH5PI186H1pFkQQitEatvme930QSzyXuzz8Ioj55lpz7FHXkdbByacrZ012yKnYzTx9W9K_1jPPwTi8za3OJvIHyjes-qqXilKTYid_Vv4mdvw/s320/setting+java+jdk+path.PNG" width="289" /></a> </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">6.In the variable name field type PATH</span><br />
<br />
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXuV1KuxOpVUm8VnQBzCZNtwPcdTHY4ivU3n4mWL4VExd3hEmP8fuwdZdxZBMpNMnB_leu2WV50yK-MRKfaJSIA7qN8gpzl1DWtOXFzrNCPO1Fljupc8GLbb8-CijPyIxjgIajK96USco/s1600/java_path_setting.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXuV1KuxOpVUm8VnQBzCZNtwPcdTHY4ivU3n4mWL4VExd3hEmP8fuwdZdxZBMpNMnB_leu2WV50yK-MRKfaJSIA7qN8gpzl1DWtOXFzrNCPO1Fljupc8GLbb8-CijPyIxjgIajK96USco/s320/java_path_setting.PNG" width="320" /></a> </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">7.In the variable value field enter the path in which JDK is installed (usually C:\Program Files\Java\jdk1.7.0_05\bin),include the bin folder.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">8.Click on OK</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">9.Open CMD and type javac.exe or java.exe or the name of any executable,it will be launched.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">See the video tutorial for more information</span><br />
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/58ZO_NaAOfU/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/58ZO_NaAOfU?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://www.youtube.com/v/58ZO_NaAOfU?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></span></div>
<br />
<br />
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-4431523375075557742012-07-27T23:52:00.003-07:002012-07-27T23:54:31.548-07:00Simple Pencil Sketch Java Applet Example+Source Code<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<span style="font-size: large;">Java Applets are easy to Implement Web Programs that can be
run on the browser without any installation or downloads. The only requirement
is that Java Virtual Machine(JVM) Should be installed on the END User Machine.
As you may know Java Applets are OS Independent it can be run on any system
supporting Java.</span><br />
</div>
<div class="MsoNormal">
<span style="font-size: large;"><u>Simple Pencil Sketch Applet in Java</u></span></div>
<div class="MsoNormal">
<span style="font-size: large;">The following is a simple Java Example Applet that draws
Lines when a user clicks and Drags the mouse.</span></div>
<div class="MsoNormal">
<span style="font-size: large;">It uses mouseMoved, mousePressed events to Track mouse
clicks by using the MouseAdapter Motion Listener Class.The following is the
screenshot of the Applet</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAAF9CAIAAADN9Cv/AAAgAElEQVR4nOy9d5Ac15ngmSOSIDzQvrz3Vd3Vrrz33leW9950VXuHhgdnKO2Ymx1RJEGK3pMgAILwDaBhCFppdvduNKEZSZQ01IiklpphhMS7OJ0u7v54WaYNDEmNNiZCGb+oyMrKyiyT9evve+97ryEIgiAIOnbs2GOPPQZBEJM3zOQNM3lDDN4QncOnsQcoTB6ZwSHRWEQqE0+m44hUFI7Yg8J2dvft6ujavnP31m077t+8ddP9mzdv3bZ1+84duzp2d/Z096L7MAQsgUKgMPAUBp5MB+BINByJiiVSMIQmZAyejMaT0DgSCkdEYQl9GEIvBt+LxvWicX0YPApLRONJGAJ5NRQsgYIlUrFEKpZAwRCQI7SDAgfEEVG45hEaT0GgYBuvAY0nobCEXjSuG4Xp6kV392F6UFjwGrp70R3dvTvBm92+Y/OWbZvu33zvfZuab3n7zt27Oro7u/u6UZg+DAGFJaBwJHBG8CJxJBqg+Wrb3n7jQyCQMXgylkjFk+kECpNEY5FobBKdTaKzyXQOicYi0lgEKpNAYYCPEUtcdZzmh4DCkVBYIhpHwuDXv18q8n7xZDSe1Ich9KCwXb3oju7ezh5Udy8avOU+DKHxiVGwxFWvfxWNzxCNI/Vh8D0obGcPandX786Oru27OrZt37l1247NW7eDa+O+Tfffe9+me+697xv33PuNe+79xjfu+cY37vmzb9yD3L333nvuvW/T/Zu3bN2OfJg9qF40DoMn48kM8Llh8GTw1lZdIShcDwoLvqweFLYHhetF47r7MF29qI7uvt2dPTt2dW7dvnPzlq33bbp/0/1bNm/ZtmXbjm07du3c3dnR3dvdh+nDEPow+F40cpxuFAYcBLnwcCQMgYwlUnAkGp5MJ1AYJBoLfBcI1CZMIpVJoDIJFCaBwmj7msArJ/Zi8O0vElxpnT2o3Z09O3d3btuxa8u27Zs2b733vk33bdp8/+atW7Ztb7zOvh4UFoVrfqetix9HoiKnIFDQjQ8HhSU2L3tU8+fQuBrBt9a85tH41jGbFwayf/v25mVGpODarwci8lsGRwafEo5EwxAoKByxD4Pv7sN0dvft6ujevrNj2/adW7bt2Lxl26bNW+7btHn99QAuia8JtOFy8OBBKos3KpI+cvS7733/vwPe/d5/e/eDv3/7/e+//d73br77wVvvvHfj7Xevv/XO1etvXbl6/dLllYvLl89fWD57/vzps2dPnz575uz5c+cvXrh4afnSlcsr165ev3nj5jtvvfPeWt5GuIHw7o2b716/+c61t96+euPmyvWbK9feunLtxuWV65dXrl2+ev3KtRsr195auf7WyrW3rlx768q1G1eu3Vi5/tbK9ZtXb9y8euPtlevIs9YA9kT2v/bWyvWbKzfAU25eBU+5fnPl+s0r4LBXb1xaubZ8+erFS1cuLF++sHz54qWV5csry5evXli+cu7C8plzF06fOXfqzTMn33jzxIk3Xj9+4viJkyffOPXGqTdPnT5z+uz5s+cvnr94+eKllYuXV5avXLt05dqlleuXVq5fvnrj8tUbl6++dfnqjUsr15dXri1faXD56vLlqxcRkCdevnrjyrWbKzfeRrj+9sr1ty9fu3n56luXVm4sr1y7ePnahUsr55dXzl283M7ZC5fOnF8+fe7i6XMXTp9bPnN++eyFS2cvXD574VITsMOb5y68efbCG6fPnTh15vjJN4+deOP1k6dOvPHmiVNnTr559tSZ82+evQCefu7i5XPLV84vX7lwaeX88pXzl1bOL6+cv3Tl/PKVc4CLV86eXz599sKpM+dOnjpz4uSbr59849jxk68eO/7Kq8defuXVF19+5YUXX37+hZeee/6FZ597/plnn23yNLLy3LPPPf/sc88//8KLL7386iuvvX7s+MkTb5w+dfrcmfPL55dXzl28cvYiePEXT59rcPbC6bMX3jx7/s2z50+dOQ9WmhtPnT73xptnTp46ffzEG8deP/HKq8deevmVl1959ZXXjr127Pix4yePnzz1xpvgW1s+c+5i41lnT505B452+tyFM+cvgk/g/PKVC5euXrxy7dLKjctX37p87a3LV9+6dBXc3rh09Qb4opdXri83V65cW75yDXyzFy5dOb98+dzFS2fPL589v3zuwqVzFy6Bu6fPXnjzzLlTp8+cPPXm8RMnj71+/LVjx97/4HvT0zNXr99Yvnz58pWrK9euX7tx8wb41bzz3lvvvP/WO+/ffPf9m+++//Z7H7zz3vfefu+Dm+++f/Od999q7dPYrbHnex98/9vfeeR//B8/eOf9773z/vfeee+Dt99rHOTd999+7/133vvg7Xff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6tixqwMEsNt3dTSVt0pzXz6UW19H8gcJ5f546epXctzXCeUQwW3Zuv3Um6dVOqNKa1DpjBq9WW+2PvXMcydOnjp+8tSJBsdPvHH8xBvHT5x8/fiJY8dPHHv9+LHXj7927PVXjx179bVjr7z62iuvvvrKq68BXn3t2Ia8dux1hNfXcWwdG2489vprq4752iuvvvryK6++/MqrL738yosvv/ziSy+/8OJLL7z40vMvvPj8Cy88/8ILz73wwnPPt3j2uedX8exzgGcaPP3ss08/g/DUM88+9fQzTZ586uknn3r6yaeeevKpp5586uknnnwK8F3AE08CHn/iyce/+wTgsce/C26bHH388aOPP370scePPvb4o489/ujRxx49+tgjjx595NGjjzz66COPPvrwI48+/Mij32ny8CO356HvPPwfxLcf+k47f/fQQ3/30EP/9dvfXs/fffshALIzOMLDD3/n4UfA23kYeYNHHzl69JGjRx89ehS88T8+4AVsyB2fe/ToY0ePPtZ48Y0nPnr0YQB4p+u+oIcfATza/Chan8ajq84LrgqEtmsGuZyeeOK7TzzRvMyeePJJ5ApELsunn3zq6SeffvrJp59+6umnwRX79NPPNC9mwDNtl/ozzyE8+9xza34XzzV5/oUNeGEVz7/w4t3y4sa8cAdeuj0vvvjSdx5+ZGPBbdq85eQbp5C2cKVaodJ+94knM7k8KHREqqiROfL7unv6urp7u7p7Oru6O7q6Ozq7Ojq7Ojo6d3d07u7oaLLrT/yJP/En/ojE44k1jmvMB7fp/uMnToqkMpFEJpLKxDLFK6+82tXd+/mflj8tf1r+tPwnWXZ1dLzw4ksbCO6ee+97/fgJ0BUoFIkFIslLL///7d1pfBP14u/xHkBkLymlpawV1LN4/stRurciKAqyyF7WUlo6gqgcQNzm0b0Pzut/H53XveeogKiICmVrARVl33cKFCilLdB9b7PPZGaSmd99MMk06ZpmaZLm+379HmibTKZt5sNvMpPJPtWIcF+vMACAs+TA2b8k1/KZDAcP5dg+sjD2lZi4PXuzVaowX68wAICzlMApjWv5VK2Dh3LsP69wz57s4QgcAAQO+8DJo+VzUQ8ePGT/jT179oaqVL5eYQAAZ7UTuIOHOgzc8C4CdyA9JOYft7u/Frf/EROSfsC17wIAdMDZwL3sTOAO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" /> </div>
<div class="MsoNormal">
<span style="font-size: large;"><br /></span></div>
<div class="MsoNormal">
<span style="font-size: large;">The following is the complete Example Source code for the
Pencil Sketch Java Applet</span></div>
</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> import java.applet.*;
import java.awt.event.*;
import java.awt.Graphics;
import java.awt.Color;
//<applet code=LineDraw.class width=400 height=300> </applet>
public class LineDraw extends Applet implements MouseMotionListener
{int x1,y1,x2,y2;
boolean flag=false;
public void init()
{ x1=0; y1=0;
addMouseMotionListener(this);
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent ME)
{ x1=ME.getX(); y1=ME.getY();}
}
);
}
public void mouseMoved(MouseEvent ME)
{showStatus(ME.getX()+","+ME.getY()); }
public void mouseDragged(MouseEvent ME)
{
Graphics g=this.getGraphics();
x2=ME.getX();
y2=ME.getY();
g.drawLine(x1,y1,x2,y2);
x1=x2; y1=y2;
}
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-81996150034271923162012-05-27T07:40:00.002-07:002019-10-29T03:48:57.263-07:00.Net 4.5-The End of Microsoft .Net Framework Client Profile<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjet7YZb2_-GqbH_pVXSeXObisARddGTbq4wqY2U_Rfx1QTIqI_Abie0jUmmYQVbpAZ3FYN0apNq5T7CpsUtsOG3FWxuz8g2ArpUob7BaqWd57J6YtYECX0Td26gGPJ7mo-6F_dG5-z53w/s1600/ner%20framework.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjet7YZb2_-GqbH_pVXSeXObisARddGTbq4wqY2U_Rfx1QTIqI_Abie0jUmmYQVbpAZ3FYN0apNq5T7CpsUtsOG3FWxuz8g2ArpUob7BaqWd57J6YtYECX0Td26gGPJ7mo-6F_dG5-z53w/s320/ner%20framework.png" width="320" /></a></div>
<br />
<br />
<br />
<span style="font-size: large;">Microsoft had introduced 2 Variants of the .net Frameworks till .Net Framework Version 4,the Complete Framework and the Client Profile which was only a subset of the the Complete Framework.</span><br />
<span style="font-size: large;"><br /></span>
<div style="color: #351c75;">
<span style="font-size: large;"><b>Why did Microsoft do it?</b></span></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Since the Complete Framework had a large size Microsoft did not want the END user's to consider it annoying to download the complete framework to run applications developed in .Net.</span><br />
<span style="font-size: large;">Certain software's only used some parts of the framework.So client profile was created as a subset of the .Net Framework complete Edition.The client Profile did not support ASP.Net and the Advanced Web Programming.</span><br />
<div style="color: #351c75;">
<span style="font-size: large;"><b><br /></b></span></div>
<div style="color: #351c75;">
<span style="font-size: large;"><b>Was Client Framework a Success?</b></span></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">The Straight forward answer is 'NO'.If you ask why just compare the size of the two packages.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"> .NET Framework 4 32BIT + 64 bit Full - 48.1 MB</span><br />
<span style="font-size: large;"> .NET Framework 4 Client Profile- 41.0 MB</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Just a 7MB Difference.So this is where it failed,the users will find it comfortable to download the full framework as the sizes have a small difference.This also created confusion among common users regarding the different terms used.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">But with the Release of the .NET Framework 4.5 Microsoft is putting an End to the Client Framework model.Microsoft has mentioned about this in their MSDN Article <a href="http://social.msdn.microsoft.com/search/en-us?query=compact+&x=0&y=0">http://social.msdn.microsoft.com/search/en-us?query=compact+&x=0&y=0</a></span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Quoting from MSDN </span><br />
<span style="font-size: large;"></span><br />
<blockquote class="tr_bq">
<span style="font-size: large;"><i>Starting with the .NET Framework 4.5, the Client Profile has been
discontinued and only the full redistributable package is available.
Optimizations provided by the .NET Framework 4.5, such as smaller
download size and faster deployment, have eliminated the need for a
separate deployment package. The single redistributable streamlines the
installation process and simplifies your app's deployment options.</i></span> </blockquote>
<span style="font-size: large;"> Thus us Developers and END Users will find it comfortable to download a single version rather than getting confused with all different versions around.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><br /></span>
<br /></div>
Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com5tag:blogger.com,1999:blog-2264228289887876963.post-20230551167424345462012-05-26T03:52:00.002-07:002012-05-26T20:56:28.905-07:00The Best 4 Free IDEs for coding programs in C Language<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">C Language is the Base for all Softwares existing today,it is a powerful language for programming applications which require Low Level System Functions.The Object oriented successor of C is C++ which is considered much easier to program when compared to C because of its Object Oriented Nature.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">It is Necessary for Every Programming Aspirant to learn C Language and C should be the primary language you learn because future languages apart from Functional Languages most Imperative Programming Languages use the structure similar to C.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">There are Several Powerful and Completely free IDEs(Integrated Development Environments) Available for Developing C Programs which can be simultaneously used for other languages like C++.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Given Below is a List of the Best 4 Free IDEs for Developing Programs using the C Programming Language.</span><br />
<b><span style="font-size: large;"><br /></span></b><br />
<div>
<b style="color: #351c75;"><span style="font-size: large;">1)<u>Eclipse-CDT(</u></span></b><span style="color: #351c75; font-size: large;"><b><u>C/C++ Development Tooling)</u></b></span><b style="color: #351c75;"><span style="font-size: large;"><u>:</u></span></b></div>
<div style="color: #351c75;">
<br /></div>
<span style="font-size: large;">Eclipse is Popular IDE for Developing Java Applications.It is mainly used for Developing Android Applications by Integrating the Android Plugin. Eclipse IDE has its C/C++ Counterpart called Eclipse CDT Which can be used to Develop both C and C++ Programs.The main feature of CDT is Code refactoring and Syntax Highlighting.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.eclipse.org/cdt/images/snapshots.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://www.eclipse.org/cdt/images/snapshots.gif" width="292" /></a></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">You can Download Eclipse CDT from <a href="http://www.eclipse.org/cdt">http://www.eclipse.org/cdt/ </a></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><br /></span><br />
<div style="color: #351c75;">
<span style="font-size: large;"><br /></span></div>
<div style="color: #351c75;">
<b><span style="font-size: large;">2)<u>Pelles C :</u></span></b></div>
<br />
<span style="font-size: large;">Pelles C is a good free Integrated development Environment for developing C programs.</span><br />
<span style="font-size: large;">It is available in both 32 and 64 bit versions with support for Windows 7 64 bit editions.It is a good alternative for the Old 16 Bit Borland Turbo C Compiler(TC).</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Pelles C is a lightweight bundle of Integrated features.It can be used
it to edit source files, icons, cursors, bitmaps, resource scripts</span><br />
<span style="color: black; font-size: large;">For More Information on Pelles C Please check out this post <a href="http://c-madeeasy.blogspot.in/2011/07/pelles-c-good-ide-supporting-windows-7.html">http://c-madeeasy.blogspot.in/2011/07/pelles-c-good-ide-supporting-windows-7.html</a></span><br />
<span style="font-size: large;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.smorgasbordet.com/pellesc/images/screen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="283" src="http://www.smorgasbordet.com/pellesc/images/screen1.png" width="400" /></a></div>
<span style="font-size: large;"><br /></span><br />
<span style="color: black; font-size: large;">You can Download Pelles C from <a href="http://www.smorgasbordet.com/pellesc/">http://www.smorgasbordet.com/pellesc/ </a></span><br />
<br />
<span style="color: black; font-size: large;"><br /></span><br />
<b><span style="font-size: large;"><br /></span></b><br />
<div style="color: #351c75;">
<b><span style="font-size: large;">3)<u>Dev-C++ IDE</u>:</span></b></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Dev-C++ is an Free IDE by BloodShed Software that can be used to Develop C and C++ Programs</span><br />
<span style="font-size: large;">Dev-C++ IDE Supports GCC Based Compilers has Profiling Feature.It is also a good IDE Targeted for C/C++ Development.Dev-C++ supports GCC Based Compilers ,has Code Completion Feature and has Inbuilt Profiling.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.bloodshed.net/images/devcpp5_scr.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://www.bloodshed.net/images/devcpp5_scr.jpg" width="400" /></a></div>
<br />
<span style="font-size: large;">You can Download Dev-C++ IDE from <a href="http://www.bloodshed.net/devcpp.html">http://www.bloodshed.net/devcpp.html</a></span><br />
<div style="color: #351c75;">
<span style="font-size: large;"><br /></span></div>
<div style="color: #351c75;">
<b><span style="font-size: large;">4)</span><span style="font-size: large;"><u>Code::Block</u>s:</span></b></div>
<div style="color: #351c75;">
<br /></div>
<span style="font-size: large;">Code::Blocks is a free C/C++ IDE which is Open-source and Cross Platform.The main feature its ability to maintain the look and feel across different platforms.It also has Plugin Support to extend the usability.</span><br />
<span style="font-size: large;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.codeblocks.org/images/gallery/scr1_tiny.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="329" src="http://www.codeblocks.org/images/gallery/scr1_tiny.jpg" width="400" /></a></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">You can Download Code Blocks IDE from <a href="http://www.codeblocks.org/">http://www.codeblocks.org/</a></span><br />
<br /></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com15tag:blogger.com,1999:blog-2264228289887876963.post-73141957420942318582012-05-22T10:01:00.001-07:002012-05-25T09:06:33.783-07:00Program to Implement Selection Sort in Java+Explanation<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<span style="font-size: large;">Selection sort is said to be an efficient algorithm when considering small computations involving limited memory/resource but it is quite inefficient when compared to other techniques when huge computations are required.Selection sort is said to be efficient for small list of items because of its simplicity. </span><br />
<br />
<span style="font-size: large;">The following steps Explains the working of the Selection sort Algorithm</span><br />
<span style="font-size: large;"><br /></span><br />
<ol>
<li><span style="font-size: large;">Obtain the Item with the Minimal value from a List/Collection of items</span></li>
<li><span style="font-size: large;">Swap the item with the Item in the first position of the Collection/List</span></li>
<li><span style="font-size: large;">Repeat the Process for the rest of the Items in the Collection</span></li>
</ol>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">The Following is the Complete Program Source Code in Java for Implementing Selection Sort Algorithm</span>
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> import java.io.*;
import java.lang.*;
class array
{
DataInputStream get;
int a[];
int i,j,n;
void getdata()
{
try
{
get=new DataInputStream(System.in);
System.out.println("Enter the limit");
n=Integer.parseInt(get.readLine());
a=new int[n];
System.out.println("Enter the elements in the array");
for(i=0;i<n;i++)
a[i]=Integer.parseInt(get.readLine());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
void sorting()
{
int temp,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println("Elements in ascending order is:");
for(i=0;i<n;i++)
System.out.print(" "+a[i]);
System.out.println();
System.out.println();
System.out.println("Element in desending order is:");
for(i=n-1;i>=0;i--)
System.out.print(" "+a[i]);
}
}
class selectionsort
{
public static void main(String arg[])
{
array obj=new array();
obj.getdata();
obj.sorting();
}
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-39322271140296418112012-05-16T23:18:00.000-07:002012-05-16T23:26:12.859-07:00How to Recover Lost or Forgotten RAR(Winrar) Archive Passwords<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">RAR Files are common format for compression.It is likely that you forget a Encrypted RAR Password.</span><br />
<span style="font-size: large;">RAR Files are secured by strong encryption so it is not easy to recover lost RAR File Passwords.</span><br />
<br />
<span style="font-size: large;">This Tutorial will teach you how to recover lost RAR File Passwords using a technique called Brute-Force Attack.In this method random passwords of varying length are checked againt the Encrypted Winrar Archive untill the correct password is obtained.This is similar to a person checking possible password,.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Follow these Simple Steps to Recover your Lost RAR File Passwords</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">1.Download and Install RAR Password Recovery Software from this link <a href="http://www.intelore.com/rar_password_recovery.php">http://www.intelore.com/rar_password_recovery.php</a></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">2.Open the Encrypted Archive in RAR Password Recovery</span><br />
<span style="font-size: large;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBi7uJZBb48Jl5urd0WbrihL7GEVFsPQDjM8XWJI4MIJFvG967gCVdjr1E_vvmFh1Cb7OsYfL176fW8iYoRLe2MdFtW2av_bQqmcTPpu4oPUf-AZXluVMPdmHPbdqslSY_bdJzp8Q-924/s1600/open-encrypted-rar-password.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="577" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBi7uJZBb48Jl5urd0WbrihL7GEVFsPQDjM8XWJI4MIJFvG967gCVdjr1E_vvmFh1Cb7OsYfL176fW8iYoRLe2MdFtW2av_bQqmcTPpu4oPUf-AZXluVMPdmHPbdqslSY_bdJzp8Q-924/s640/open-encrypted-rar-password.PNG" width="640" /></a></span></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">3.Click on the Brute Force Tab and specify the settings,the default settings will check passwords ranging from 0-9 characters and a-z alphabets you can change this.</span><br />
<span style="font-size: large;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLF1hcinnPvwGDlKkxiLlDf_VhpK9VoPzlodp9RfWy6J70beWblqg-bludurZbwgzJhaQ3VJ2Kzm-BMfagmERCGz4Ru-2Cow8vBJBTl2gZTSh6D06kkRNrCBXs-T-vUW9r5kpSKONb7s8/s1600/bruteforce-winrar-password-recover.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLF1hcinnPvwGDlKkxiLlDf_VhpK9VoPzlodp9RfWy6J70beWblqg-bludurZbwgzJhaQ3VJ2Kzm-BMfagmERCGz4Ru-2Cow8vBJBTl2gZTSh6D06kkRNrCBXs-T-vUW9r5kpSKONb7s8/s400/bruteforce-winrar-password-recover.PNG" width="286" /></a></span></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;"></span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span style="font-size: large;">4.Click on Start Button to start recovery.Once the password is found you will be shown a window with the password</span><br />
<span style="font-size: large;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtErypzrcdgpWKl7aZd_O_Dg3JHImxgXxmnZfmFY8JZwzcD3N3eawtsxypQUrNAsPMm3d2wSar6GWAzyHpCajO4EV_WU6WmEjNAd6y29nKFfP9ZvXJbqq40C5KAuW7pKN2zqEhRpdPFg/s1600/winrar-password-recovered.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtErypzrcdgpWKl7aZd_O_Dg3JHImxgXxmnZfmFY8JZwzcD3N3eawtsxypQUrNAsPMm3d2wSar6GWAzyHpCajO4EV_WU6WmEjNAd6y29nKFfP9ZvXJbqq40C5KAuW7pKN2zqEhRpdPFg/s320/winrar-password-recovered.PNG" width="320" /></a></span></div>
<span style="font-size: large;"> </span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"></span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span style="font-size: large;">For a Detailed View see the Video Tutorial Below or visit Youtube </span><br />
<span style="font-size: large;"><a href="http://www.youtube.com/watch?v=hqNLKqEwUBE">http://www.youtube.com/watch?v=hqNLKqEwUBE</a></span><br />
<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/hqNLKqEwUBE" width="500"></iframe>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<br /></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-85691844255321707872012-05-13T01:38:00.000-07:002012-05-13T01:38:05.491-07:00Quick Sort Program in Java -Explanation+Complete Source Code<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<div style="color: black;">
<span style="font-size: large;">Quick-sort is a sorting technique commonly called divide and conquer algorithm. Quick-sort first divides a large array of items into two smaller arrays : the low items and high items(ie:all elements in first array is less than all elements in second). </span></div>
<div style="color: black;">
<span style="font-size: large;">Quick sort algorithm involves three steps </span></div>
<ol style="text-align: left;">
<li><span style="font-size: large;"> An n element, called a pivot is picked from the array.Pivot is commonly the middle element of the array</span></li>
<li><span style="font-size: large;">Rearrange the array elements such that all elements less than the pivot come before the pivot and all elements greater than the pivot come after the pivot,this step is called array partitioning</span></li>
<li><span style="font-size: large;">Then a recursive sorting of the partitioned arrays is done individually </span></li>
</ol>
</div>
<span style="font-size: large;">Following is the complete source code for Quick-sort program in Java.</span><br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> import java.io.*;
import java.lang.*;
class array
{
//c-madeeasy.blogspot.com
DataInputStream get=new DataInputStream(System.in);
int a[];
int i,n,h,l;
void getdata(int n,int x,int y)
{
try
{
a=new int[n];
System.out.println("Enter the elements");
for(i=0;i<n;i++)
a[i]=Integer.parseInt(get.readLine());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
l=x;
h=y;
}
void sort(int l,int h)
{
int temp,key,low,high;
low=l;
high=h;
key=a[(low+high)/2];
while(low<=high)
{
while(key>a[low])
{
low++;
}
while(key<a[high])
{
high--;
}
if(low<=high)
{
temp=a[low];
a[low]=a[high];
a[high]=temp;
low++;
high--;
}
}
if(l<low-1)
{
sort(l,low-1);
}
if(low<h)
{
sort(low,h);
}
}
void display(int n)
{
System.out.println("Asending order is");
for(i=0;i<n;i++)
System.out.println(" "+a[i]);
}
}
class quicksort
{
public static void main(String arg[])
{
array obj=new array();
DataInputStream get=new DataInputStream(System.in);
int n,x,y;
n=0;
try
{
System.out.println("Enter the limit");
n=Integer.parseInt(get.readLine());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
x=0;
y=n-1;
obj.getdata(n,x,y);
obj.sort(x,y);
obj.display(n);
}
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-78025750741112105502012-05-12T04:33:00.000-07:002012-05-12T04:41:23.559-07:00Program to create Parser for IF-ELSE Statement using Flex(Lex) and Bison(Yacc)<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span style="font-size: large;">
'IF -ELSE' Statement is commonly used in all programming languages to implement various logical operations.</span><br />
<span style="font-size: large;">The control flows by checking a specific condition-if('cond) then expression if the condition is not satisfied the control flows </span><br />
<span style="font-size: large;">to the else statement else-expression.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Parsing if-else statement is done by definitions of a grammar which uses Regular expressions.C</span><span style="font-size: large;">ompiler construction tools Flex(Lex</span><span style="font-size: large;">) and Bison(Yacc) in Linux(Ubuntu) are used to define the grammar and basic operations </span><span style="font-size: large;">.On compilation a c program is generated which is actually the </span><span style="font-size: large;">parser for 'IF-ELSE' statement.A parser generates a Parse tree for Intermediate code generation.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Following are complete source codes for Flex and Bison programs to create a Parser for 'IF-ELSE' Statement which accepts valid 'IF-ELSE' Statements</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> /*PARSER FOR IF ELSE STATEMENT*/
//c-madeeasy.blogspot.com
/*YACC PROGRAM*/
%{
#include<stdio.h>
#include<stdlib.h>
%}
%token num alpha LT GT EQ LE GE NE AND OR INC DEC END
%left '+''-'
%left '*''/'
%right '^'
%right '='
%nonassoc UMINUS
%nonassoc IF
%nonassoc ELSE
%left GE NE LT GT LE EQ
%left AND OR
%%
S:ST END{printf("\n Accepted\n");exit(0);}
ST:IF'('F')''{'ST'}'%prec IF
|IF'('F')''{'ST'}'ELSE'{'ST'}'
|E';'
|E';'ST
F:C LO C
|C
LO:AND
|OR
C:E RELOP E
|E
E:alpha '='E
|E'+'E
|E'-'E
|E'*'E
|E'/'E
|E'^'E
|'('E')'
|'-'E %prec UMINUS
|alpha
|num
|alpha INC
|alpha DEC
RELOP:LT
|GT
|EQ
|LE
|GE
|NE
;
%%
#include"lex.yy.c"
int main()
{
yyparse();
yylex();
return END;
}
yyerror(char *s)
{
printf("\nError");
}
/*LEX PROGRAM*/
%{
#include"pgm4.tab.h"
%}
%%
"if" {return IF;}
"else" {return ELSE;}
"&&" {return AND;}
"||" {return OR;}
"<=" {return LE;}
">=" {return GE;}
">" {return GT;}
"<" {return LT;}
"!=" {return NE;}
"++" {return INC;}
"--" {return DEC;}
"==" {return EQ;}
[0-9]+ {return num;}
[a-zA-Z]+ {return alpha;}
[\t];
[\n];
"$" {return END;}
. {return yytext[0];}
%%
/*OUTPUT
if(i>0)
{
a=0;
c++;
}
else
{
h;
}
$
Accepted
if(a>l)
{
w;
}
$
Accepted*/
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-32850105522863508282012-05-07T10:29:00.003-07:002012-05-07T10:30:22.506-07:00Program to Construct Interpreter for Arthemetic Expression Evaluation using Bison and Flex<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span style="font-size: large;">Arithmetic expressions are common in programming languages,this program is a sample implementation of an Interpreter to evaluate basic arithmetic expressions like a*b,a+b etc .This is accomplished by using compiler construction tools Flex(Lex) and Bison(Yacc) in Linux operating system environment.The following are </span><span style="font-size: large;">complete </span><span style="font-size: large;">source codes for two Flex and Bison Programs to create an evaluator for Arithmetic Expressions</span><br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> /*YACC PROGRAM*/
%{
#include<stdio.h>
%}
%token num alpha END
%left '+''-'
%left '*''/'
%right '^'
%nonassoc UMINUS
%%
S:E END{printf("\n The given expression is valid\n");exit(0);}
E:E'+'E
|E'-'E
|E'*'E
|E'/'E
|'-'E %prec UMINUS
|'('E')'
|E'^'E
|num
|alpha
;
%%
#include"lex.yy.c"
int main()
{
yyparse();
yylex();
return 0;
}
yyerror(char *s)
{
printf("\nerror\n");
}
/*LEX PROGRAM*/
%{
#include "pgm2.tab.h"
%}
%%
[0-9]+ {return num;}
[a-z]+ {return alpha;}
[ \t] ;
[\n] ;
"$" {return END;}
. {return yytext[0];}
%%
/*OUTPUT
r+x
$
The given expression is valid
d++c
$
error*/
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-84236128476656682012012-05-01T10:39:00.000-07:002012-05-01T10:43:17.368-07:00Program to create Lexical Analyser for C Programming Language using Lex/Flex<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">Flex/Lex is a compiler construction tool that can be used to design a compiler.In this example flex is used to create a sample lexical analyzer for c programming language,it can recognize the valid symbols in c programming language including valid programming constructs</span>.<br />
<span style="font-size: large;">The following is a complete source code Flex/Lex program to implement a Lexical analyzer for C programming language</span><br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> letter [a-zA-Z]
digit[0-9]
%%
{digit}+("E"("+"|"-")?{digit}+)? printf("\n%s\tis real number",yytext);
{digit}+"."{digit}+("E"("+"|"-")?{digit}+)? printf("\n%s\t is floating pt no ",yytext);
"if"|"else"|"int"|"char"|"scanf"|"printf"|"switch"|"return"|"struct"|"do"|"while"|"void"|"for"|"float" printf("\n%s\t is keywords",yytext);
"\a"|"\\n"|"\\b"|"\t"|"\\t"|"\b"|"\\a" printf("\n%s\tis Escape sequences",yytext);
{letter}({letter}|{digit})* printf("\n%s\tis identifier",yytext);
"&&"|"<"|">"|"<="|">="|"="|"+"|"-"|"?"|"*"|"/"|"%"|"&"|"||" printf("\n%s\toperator ",yytext);
"{"|"}"|"["|"]"|"("|")"|"#"|"'"|"."|"\""|"\\"|";"|"," printf("\n%s\t is a special character",yytext);
"%d"|"%s"|"%c"|"%f"|"%e" printf("\n%s\tis a format specifier",yytext);
%%
int yywrap()
{
return 1;
}
int main(int argc,char *argv[])
{
yyin=fopen(argv[1],"r");
yylex();
fclose(yyin);
return 0;
}
/*INPUT PROGRAM
#include<stdio.h>
void main()
{
printf("\nhai\n");
}
/*
OUTPUT
# is a special character
include is identifier
< operator
stdio is identifier
. is a special character
h is identifier
> operator
void is keywords
main is identifier
( is a special character
) is a special character
{ is a special character
printf is keywords
( is a special character
" is a special character
\n is Escape sequences
hai is identifier
\n is Escape sequences
" is a special character
) is a special character
; is a special character
} is a special character
*/
</code></pre>
<div class="container">
<br /></div>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-89549242687260689252012-05-01T09:41:00.001-07:002012-05-01T09:43:31.196-07:00How to Restart Windows Explorer after a Crash using Task Manager<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaaNrS1fVGAo4WSsmm3L1bscxt5tAtqSBV1nSVMkMASF1XCDYLZvvu1KSOc0co_OAollDNwuWfgC0OStRUabn189N5PdBjJgKQaR0ZPPgQmstxmSyy4CAWB83VR0Vg4BDsGzT_7u-PcW0/s1600/windows-explorer-restart-hanging.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDBjGB-kOMKmD40L7wrJLmq04JJJLEaf6xekm2_ZEsgpdvkBGMnugtQmwjEd-rW7NAe8vN4FaYks5NCs_LG98aHEwBRjf43kqwwljDGCm9_rlNQqdR_Wv_H9TU59tHRF146vB59e2lhgI/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
Windows Explorer is exposed to frequent crashes and hangs. After explorer hangs you can use Task Manager to End the explorer process but the Start Menu will disappear.To restart explorer follow the simple steps listed below<br />
<br />
<ul style="text-align: left;">
<li>Press Ctrl+Alt+Delete to start Task Manager</li>
<li>Click on File>New Process</li>
</ul>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaaNrS1fVGAo4WSsmm3L1bscxt5tAtqSBV1nSVMkMASF1XCDYLZvvu1KSOc0co_OAollDNwuWfgC0OStRUabn189N5PdBjJgKQaR0ZPPgQmstxmSyy4CAWB83VR0Vg4BDsGzT_7u-PcW0/s1600/windows-explorer-restart-hanging.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaaNrS1fVGAo4WSsmm3L1bscxt5tAtqSBV1nSVMkMASF1XCDYLZvvu1KSOc0co_OAollDNwuWfgC0OStRUabn189N5PdBjJgKQaR0ZPPgQmstxmSyy4CAWB83VR0Vg4BDsGzT_7u-PcW0/s400/windows-explorer-restart-hanging.PNG" width="375" /></a><br />
<ul style="text-align: left;">
<li>Type in explorer and Click Ok</li>
<li>Explorer will restart and Start Menu will Reapper</li>
</ul>
<div style="text-align: left;">
<br /></div>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-31594097789541768072012-04-30T09:16:00.000-07:002012-04-30T09:17:00.098-07:00Time Class Program in C++ using operator overloading to add two different Time values<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">The following program is an implementation of operator overloading in C++ to add two time values in the format HH:MM:SS to the resulting time along with rounding off when 24 hours is reached.</span><br />
<span style="font-size: large;">A Time class is created and Operator + is overloaded to add the two Time Class Objects.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">The complete source code in C++ to Implement Time class is given below</span>
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> #include<iostream.h>
#include<conio.h>
class time
{
public:
time()
{
hr=0;
min=0;
sec=0;
}
int hr,min,sec;
void read()
{
cout<<"Hours=";
cin>>hr;
cout<<"\nMinutes=";
cin>>min;
cout<<"\nSeconds=";
cin>>sec;
}
time operator +(time t2)
{
time t3;
t3.sec=sec+t2.sec;
if(t3.sec>60)
{
t2.min+=1;
t3.sec-=60;
}
t3.min=min+t2.min;
if(t3.min>60)
{
t2.hr+=1;
t3.min-=60;
}
t3.hr=hr+t2.hr;
return t3;
}
void display()
{
if(hr>=24)
{ hr=hr%24;
}
if(hr<10)
{ cout<<"0"<<hr;
}
else
cout<<hr;
if(min<10)
{ cout<<":0"<<min;
}
else
cout<<":"<<min;
if(sec<10)
{ cout<<":0"<<sec;
}
else
cout<<":"<<sec;
}
};
void main()
{
clrscr();
time c1,c2,c3;
cout<<"\n\nEnter the First Time\n\n";
c1.read();
cout<<"\n\nEnter the Second Time\n\n";
c2.read();
c3=c1+c2;
cout<<"\n\nFirst Time \t\t";
c1.display();
cout<<"\n\nSecond Time \t\t";
c2.display();
cout<<"\n\nAfter addition,the time is ";
c3.display();
getch();
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com1tag:blogger.com,1999:blog-2264228289887876963.post-50880787624679993472012-03-14T04:39:00.006-07:002012-04-13T18:25:50.930-07:00Java Program -1 way Client-Server Communication using TCP/IP<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<span style="font-size: large;">In java Networking is done using Sockets and ServerSockets.To get a good idea of how sockets are used in java for creating a client server model see the article. <a href="http://c-madeeasy.blogspot.com/2012/03/concept-of-sockets-and-networking-in.html">http://c-madeeasy.blogspot.com/2012/03/concept-of-sockets-and-networking-in.html</a></span><br />
<br />
<u><span style="font-size: large;">TCP/IP(Transmission Control Protocol/Internet Protocol) :</span></u><br />
<span style="font-size: large;">Is connection based protocol that is widely used over the internet.It is commonly referred to as IP.The following program uses TCP/IP to communicate.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">After reading the above article,see the code below.You can see how socket and server sockets are used to create a one way client server program.Here a client can communicate with the server only.Both are DOS/Terminal Java Programs.</span><br />
<br />
<span style="font-size: large;">Fist you start the server program followed by client program in two separate terminals.In the client terminal type anything,you can see that appearing in the server terminal window.</span><br />
<br />
<span style="font-size: large;">The complete Java Program source code to implement 1 way client and server model is provided below as two separate programs Client.java and Server.Java</span><br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> //Server Program
//c-madeeasy.blogspot.com www.codeuniverse.tk
import java.io.*;
import java.net.*;
class server{
public static void main(String []args)
{
String data;
ServerSocket ssock;
Socket clientsock=null;
DataInputStream is;
try{
ssock=new ServerSocket(2000);
System.out.print("Server Started");
clientsock=ssock.accept();
is=new DataInputStream(clientsock.getInputStream());
System.out.println("Connection Accepted");
while(true)
{
data=is.readLine();
System.out.println(data);
}
}
catch(Exception e)
{
System.out.println("ERROR");
}
}
}
---------------------------------------------------------------
//Client Program
import java.io.*;
import java.net.*;
class client{
public static void main(String []args)
{
String text;
Socket sock=null;
DataOutputStream dout;
PrintStream sender;
DataInputStream keyboardreader;
System.out.println("Connecting to Server.....");
try{
sock=new Socket("localhost",2000);
}
catch(Exception e)
{
}
try{
System.out.println("Connected");
keyboardreader=new DataInputStream(System.in);
sender=new PrintStream(sock.getOutputStream());
do
{
text=keyboardreader.readLine();
sender.println(text);
}while(!text.equals("quit"));
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-66824649674698024762012-03-09T21:08:00.000-08:002012-03-09T21:13:36.423-08:00The Concept of Sockets and Networking in Java Simplified<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;"><u>Socket: </u></span><br />
<span style="font-size: large;">A socket is one end-point of a two-way communication link between two programs running on the network.java.net Package provides support for sockets.
Socket classes can be used to implement the connection between a client program and a server program.</span><br />
<br />
<span style="font-size: large;"><u>ServerSocket:</u></span><br />
<span style="font-size: large;"><span style="font-size: x-small;"><span style="color: black;"><span style="font-size: large;">ServerSocket class is exclusive for the Server side implementation of the client-server model.</span></span><u style="color: #351c75;"><span style="font-size: large;"><br /></span></u></span></span><br />
<br />
<span style="font-size: large;"> Java programming with Socket class allows easy implementation of a client-server model for one way or two way communication.
We can easily implement a simple one way client server model,2 way client server model,a broad cast server,a multicast server using Sockets and Server Sockets in Java. </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/148791.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/148791.gif" width="320" /></a></div>
<span style="font-size: large;"> <span style="font-size: x-small;">courtesy:oracle</span></span><br />
<br />
<span style="font-size: large;"><span style="font-size: x-small;"><u style="color: #351c75;"><span style="font-size: large;">Client Side</span></u></span></span><br />
<span style="font-size: large;"> Basically a socket can used in a client to send message it involves creation of socket by using the code</span><br />
<span style="font-size: large;"><br /></span><br />
<div style="color: #990000;">
<span style="font-size: large;">Socket mysocket=new Socket(localhost,2000)</span></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">Here a socket is created in the local machine itself you can specify the</span><br />
<span style="font-size: large;">ip address of the server machine instead of localhost.</span><br />
<br />
<span style="font-size: large;"><span style="font-size: x-small;"><u style="color: #351c75;"><span style="font-size: large;">Server Side</span></u></span></span><span style="font-size: large;"></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">In the Sever Side a ServerSocket is created.ServerSocket is a different</span><br />
<span style="font-size: large;">class rather than socket.It is meant for the server side only.</span><br />
<span style="font-size: large;">In the server side the following code is usually used</span><br />
<span style="font-size: large;"><br /></span><br />
<div style="color: #990000;">
<span style="font-size: large;">ServerSocket ssock=new ServerSocket(2000)</span></div>
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">As you can see the same port number should be used in the client and server side.</span><br />
<br />
<span style="font-size: large;">Classes like PrintStream is used to send message from the client to the server.It is established easily like this</span><br />
<br />
<div style="color: #990000;">
<span style="font-size: large;">PrintStream ps=new PrintStream(mysocket.getOutputStream)</span></div>
<div style="color: #990000;">
<span style="font-size: large;">ps.println("my message");</span></div>
<br />
<span style="font-size: large;">This code in the client side sends message to the server.In the server </span><br />
<span style="font-size: large;">side this message can be easily accepted and displayed using the </span><br />
<span style="font-size: large;">following code</span><br />
<br />
<div style="color: #990000;">
<span style="font-size: large;">ServerSocket ssock=new ServerSocket(2000)</span></div>
<div style="color: #990000;">
<span style="font-size: large;"></span></div>
<span style="color: #990000; font-size: large;">Socket mysocket=ssock.accept()</span><br />
<div style="color: #990000;">
<span style="font-size: large;">DataInputStream d=new </span><span style="font-size: large;">DataInputStream(mysocket.getInputStream)</span></div>
<div style="color: #990000;">
<span style="font-size: large;">String msgfromserver=d.readLine() </span></div>
<span style="color: #990000; font-size: large;">System.out.println(</span><span style="color: #990000; font-size: large;">msgfromserver</span><span style="font-size: large;"><span style="color: #990000;">)</span></span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">The method accept() is used to accept a connection from the client.Note that you need to surround the statements with a try-catch block to handle all the exceptions.</span><br />
<span style="font-size: large;">In this way you can send a message from the client to server.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><br /></span></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-70597682289200677582012-03-08T04:30:00.000-08:002012-03-08T04:34:08.171-08:00Hybrid Inheritance Example Program in C++ to Calculate the Marks and Percentage of a Student<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<span style="font-size: large;">Hybrid Inheritance is the combination of two or more inheritances : single, multiple,multilevel or hierarchical Inheritances.
The following is a C++ Program to for Calculating the marks secured by a student.A Parent class with student identification is created
and another class called marks is inherited from the main class.This class marks is further inherited by another class called sports and finally the sports class is inherited by the percentage class to calculated the percentage of marks.This is the best example for Hybrid Inheritance in c++The complete source code is provided Below </span><br />
<br />
<br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> #include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
class student_id
{
//c-madeeasy.blogspot.com
int rno;
char name[20];
public:
void read_id()
{
cout<<"\n\nEnter the Name of the Student : ";
gets(name);
cout<<"\n\nEnter the Roll No. : ";
cin>>rno;
}
void display_nr()
{
cout<<"\n\n\t\tSTUDENT REPORT\n\nNAME : ";
puts(name);
cout<<"\n\nROLL NO. : "<<rno;
}
};
class marks:public student_id
{
public:
int i,mark[3];
void read_m()
{
read_id();
for(i=0;i<3;i++)
{
cout<<"\n\nEnter the Marks Secured in SUBJECT "<<i+1<<" out of 100 : ";
cin>>mark[i];
}
}
void display_m()
{
display_nr();
cout<<"\n\n\tMarks Secured ";
for(i=0;i<3;i++)
cout<<"\n\nSUBJECT "<<i+1<<" : "<<mark[i];
}
};
class sports
{
public:
int sm;
void read_sportm()
{
cout<<"\n\nEnter the marks in SPORTS out of 10 : ";
cin>>sm;
}
};
class percentage:public marks,public sports
{
public:
float total,prcntge;
void calculate()
{
read_m();
read_sportm();
total=0;
for(i=0;i<3;i++)
{
total+=mark[i];
}
total+=sm;
prcntge=(total/310)*100;
}
void display_totp()
{
display_m();
cout<<"\n\nTOTAL = "<<total;
cout<<"\n\nPERCENTAGE = "<<prcntge;
}
};
void main()
{
int cont;
percentage pc;
clrscr();
do
{
pc.calculate();
clrscr();
pc.display_totp();
cout<<"\n\nDo You Want to Continue?(1-YES/0-NO)";
cin>>cont;
}while(cont==1);
getch();
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-3450405578533955532012-02-25T22:42:00.000-08:002012-02-25T22:42:10.915-08:00C++ Program to Implement Friend Class for Adding two Numbers<div dir="ltr" style="text-align: left;" trbidi="on">
Friends are functions or classes declared using the <code>friend</code> keyword.<br />
Friend Class can access the private and protected
members of the class for which it is friend to c,it is done by a declaring prototype of this
external function within the class, and with the keyword <tt>friend</tt>.<br />
<br />
Friend class is used in C++ to gain access to protected members exclusively by the friend class <br />
The following is an Example Program in C++ using friend class to fins the sum of two numbers
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> #include<iostream.h>
#include<conio.h>
class readint
{
float a,b;
public:
void read()
{
cout<<"\n\nEnter the First Number : ";
cin>>a;
cout<<"\n\nEnter the Second Number : ";
cin>>b;
}
friend class sum;
};
class sum
{
public:
float c;
void add(readint rd)
{
c=rd.a+rd.b;
cout<<"\n\nSum="<<c;
}
};
void main()
{
int cont;
readint rd;
sum s;
clrscr();
do
{
clrscr();
rd.read();
s.add(rd);
cout<<"\n\nDo you want to continue?(1-YES,0-NO)";
cin>>cont;
}while(cont==1);
getch();
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-19633049279400561972012-02-10T22:52:00.000-08:002012-02-25T22:25:26.068-08:00C++ Program using Templates to Find minimum of two Integers,Characters and Floating Point Numbers<div dir="ltr" style="text-align: left;" trbidi="on">
Template is an more abstract level of a Class by allowing more than one type of data types to be handled by a same class without the need for the definition of more classes.A template class can handle integers,characters,strings etc.For example you can check if a character is greater that a character or an integer is greater than an integer by using a same template class.C++ supports Template classes.To get a better and brighter idea of classes see <a href="http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html">http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html </a><br />
<br />
The following program is a template class Implementation in C++ to find out the minimum of two integers,characters and floating point numbers.The template class implementation allows this operation to be done using a same class with the need of different classes for different data types.<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> #include<iostream.h>
#include<stdio.h>
#include<conio.h>
//c-madeeasy.blogspot.com
template<class T>
T min(T n1,T n2)
{
if(n1<n2)
return n1;
else if(n1>n2)
return n2;
else
cout<<"EQUAL\n\n";
}
void main()
{
int a,b,c,choice,ch;
float d,e,m;
char f,g,n;
clrscr();
do{
cout<<"\t\tMINIMUM\n\n1.Integers\n\n2.Floating Point\n\n3.Character\n\n";
cout<<"Enter your choice : ";
cin>>choice;
switch(choice)
{
case 1 : cout<<"\n\nEnter the Integers : ";
cin>>a>>b;
c=min(a,b);
cout<<"Minimum Element : "<<c;
break;
case 2 : cout<<"\n\nEnter the Floating Point numbers : ";
cin>>d>>e;
m=min(d,e);
cout<<"Minimum Element : "<<m;
break;
case 3 : cout<<"\n\nEnter the Characters : ";
cin>>f>>g;
n=min(f,g);
cout<<"Minimum Element : "<<n;
break;
default: cout<<"\n\nInvalid Choice";
}
cout<<"\n\nDo u want to continue?(YES-1,NO-0)";
cin>>ch;
clrscr();
}while(ch!=0);
getch();
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-72444499667934924382012-02-08T03:45:00.000-08:002012-03-08T04:37:42.997-08:00Vector Addition,Multiplication Program using Vector Class and Operator Overloadingin C++<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">
Classes help to develop easier and effective programming style.To get a better understanding of classes and the concept of abstraction see <a href="http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html">http://c-madeeasy.blogspot.in/2011/12/what-is-abstractionthe-concept-of.html</a> </span><br />
<br />
<span style="font-size: large;">In this program a class named Vector is used to receive data in the form of a vector and + and * operators are overloaded to add and multiply these vectors.The complete Source Code of the C++ program to perform vector addition and multiplication using operator overloading is provided below</span>.
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> #include<iostream.h>
#include<conio.h>
class vector
{
//Visit c-madeeasy.blogspot.com
public:
int x,y,z;
void read()
{
cout<<"\n\nEnter the magnitude of i : ";
cin>>x;
cout<<"\n\nEnter the magnitude of j : ";
cin>>y;
cout<<"\n\nEnter the magnitude of k : ";
cin>>z;
}
vector operator -()
{
x=-x;
y=-y;
z=-z;
}
vector operator +(vector b)
{
vector c;
c.x=x+b.x;
c.y=y+b.y;
c.z=z+b.z;
return c;
}
vector operator *(vector b)
{
int prod;
vector c;
c.x=x*b.x;
c.y=y*b.y;
c.z=z*b.z;
prod=c.x+c.y+c.z;
cout<<"\nScalar Product = ";
cout<<prod;
vector d;
d.x=(y*b.z)-(z*b.y);
d.y=(x*b.z)-(z*b.x);
d.z=(x*b.y)-(y*b.x);
return d;
}
void display()
{
cout<<x<<"i"<<"+"<<y<<"j"<<"+"<<z<<"k";
}
};
void main()
{
vector v1,v2,v3;
int choice,cont;
do
{
clrscr();
cout<<"\n\tVECTORS\n\n1.Negation of The Vector\n\n2.Sum of Vecors\n\n3.Product of Vectors\n\n";
cout<<"\nEnter your choice : ";
cin>>choice;
switch(choice)
{
case 1 : cout<<"\nEnter the Vector\n";
v1.read();
-v1;
cout<<"Negation of the Vector : ";
cout<<v1.x<<"i"<<v1.y<<"j"<<v1.z<<"k";
break;
case 2 : cout<<"\n\nEnter the First Vector : ";
v1.read();
cout<<"\n\nEnter the Second Vector : ";
v2.read();
v3=v1+v2;
cout<<"\n\nThe Sum of Vectors : ";
v3.display();
break;
case 3 : cout<<"\n\nEnter the First Vector : ";
v1.read();
cout<<"\n\nEnter the Second Vector : ";
v2.read();
v3=v1*v2;
cout<<"\n\nVector Product = ";
v3.display();
break;
default : cout<<"\n\nInvalid Choice";
}
cout<<"\n\n\nDo you want to continue?(1-YES,0-NO)\n";
cin>>cont;
}while(cont==1);
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-76714710852845627322012-01-27T06:38:00.000-08:002012-01-27T06:40:04.170-08:00Lisp Program to Print Fibonocci Series upto a user specified Limit<div dir="ltr" style="text-align: left;" trbidi="on">
The following is a lisp program to print the Fibonacci series up to a user specified limit.<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> (defun fibonacci()
(format t "Enter the limit : ")
(setf n(read))
(format t "Fibonacci Series : ")
(format t "0 1")
(setf a 0)
(setf b 1)
(do ((i 3(+ i 1))) ((> i n))
(setf c (+ a b))
(format t " ~d" c)
(setf a b)
(setf b c)))
</code></pre>
<br />
The folowing program produces the Output<br />
<br />
OUTPUT<br />
<br />
Enter the limit : 8<br />
Fibonacci Series : 0 1 1 2 3 5 8 13<br />
<br />
<br /></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-54054577880101620252012-01-27T06:34:00.000-08:002012-01-27T06:43:03.250-08:00Do you Really need a Tablet?Tablet vs SmartPhone vs Laptop<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">Tablets have become most common in today's market that people see it as necessary gadget.Have ever you wondered why you need a tablet or Do you even need a tablet?</span><br />
<span style="font-size: large;">If you have a laptop or a smartphone do you need to buy a tablet.Get the answers below.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"> <b style="color: #990000;">Laptop </b></span><span style="font-size: large;"><b style="color: #990000;">vs </b></span><span style="font-size: large;"><b style="color: #990000;">Tablet </b></span><span style="font-size: large;"><b style="color: #990000;">vs SmartPhone</b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_QCgFcyUVW7Z7N4Z1BTFw5OTFIOA43p3OdY_o2fcYsMRn1Jmc4kZ4vAlkARrnZA0gwn86YxNzw8Fl-2pPI-Nd1cCL7v4cbc-SgRQWrxzxe99mua5a0JGOAKGWxICR_xEhyf-zRxXC8s/s1600/lapttop+vs+tablet+vs+smartphone.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_QCgFcyUVW7Z7N4Z1BTFw5OTFIOA43p3OdY_o2fcYsMRn1Jmc4kZ4vAlkARrnZA0gwn86YxNzw8Fl-2pPI-Nd1cCL7v4cbc-SgRQWrxzxe99mua5a0JGOAKGWxICR_xEhyf-zRxXC8s/s400/lapttop+vs+tablet+vs+smartphone.jpg" width="400" /></a></div>
<br />
<br />
<span style="font-size: large;">You Should decide if you need one by taking into account of the intended usage.It also depends on you and your habits.</span><br />
<span style="font-size: large;"><br /></span><br />
<u><span style="font-size: large;">Videos/Multimedia:</span></u><br />
<span style="font-size: large;">Most tablets offer a decent 5-10 Inch Screen Size,which allows you to watch HD Videos,Photos Easily and Comfortably rather than straining your eyes on the small screen of a smartphone.So tablets are way ahead when compared to smartphones in this aspect.But if you have a laptop apart from the portability and ease of use you can watch Videos or HD Content in it.So its your Call.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><u>Document Viewing:</u></span><br />
<span style="font-size: large;">Viewing PDF's and Word Documents are much easier when compared to Smart Phones.But with Touch screen typing in will be a little harder,so here laptop is better if you let go of the portability.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><u>Gaming:</u></span><br />
<span style="font-size: large;"> Tablets are not that into high end games moreover gaming in a touch screen may be a little annoying.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><u>Surfing the Web:</u></span><br />
<span style="font-size: large;">If you have a WIFI Hotspot you can browse the web from anywhere,tablets offers ease of web surfing by allowing you to slide through the webpages with your fingers.Tablets stand out for Web browsing way ahead of laptops and smartphones.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">So,The Conclusion?</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"> <span style="color: #20124d;">Can a Tablet replace a Smart Phone?</span></span><br />
<span style="font-size: large;">Yes.Tablets are good alternatives to smartphones if you are looking for a device that is focused for multimedia applications like viewing Videos,Photos , Browsing the Web or Viewing PDF's or E books.</span><br />
<br />
<span style="font-size: large;"><span style="color: #20124d;">Can a Tablet replace a Laptop?</span></span><br />
<span style="font-size: large;"><span style="color: #20124d;"><span style="color: black;">The answer is a No .You cannot do Programs or Develop applications on a tablet you might also find difficult editing images and Documents on a Touch Screen.But if you are using your laptop for Viewing Videos,Browsing the Internet or Reading E-Books then the Tablet is For you.</span></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_QCgFcyUVW7Z7N4Z1BTFw5OTFIOA43p3OdY_o2fcYsMRn1Jmc4kZ4vAlkARrnZA0gwn86YxNzw8Fl-2pPI-Nd1cCL7v4cbc-SgRQWrxzxe99mua5a0JGOAKGWxICR_xEhyf-zRxXC8s/s1600/lapttop+vs+tablet+vs+smartphone.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUHkG1_6umG4ZW6NDqxbbpOXgAdNTnG7pzhBAoxhtWzXEFj_HuTLvi00cOb3Eu2de6wSJp-RxkBcNvNEbVACF-0F4oddmpqSr75T764G2cSPaVhcquWjZuN9WyWXf18OR40MRCei2dPd8/s1600/please+comment.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUHkG1_6umG4ZW6NDqxbbpOXgAdNTnG7pzhBAoxhtWzXEFj_HuTLvi00cOb3Eu2de6wSJp-RxkBcNvNEbVACF-0F4oddmpqSr75T764G2cSPaVhcquWjZuN9WyWXf18OR40MRCei2dPd8/s1600/please+comment.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUHkG1_6umG4ZW6NDqxbbpOXgAdNTnG7pzhBAoxhtWzXEFj_HuTLvi00cOb3Eu2de6wSJp-RxkBcNvNEbVACF-0F4oddmpqSr75T764G2cSPaVhcquWjZuN9WyWXf18OR40MRCei2dPd8/s1600/please+comment.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<br />
<span style="font-size: large;"><span style="color: #20124d;"><span style="color: black;"> </span></span>
</span><br />
<span style="font-size: large;"><br /></span></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-2102913230570215582012-01-12T20:06:00.000-08:002012-03-08T04:36:48.706-08:00Operator Overloading in C++ to add,substract,multiply and divide two Complex Numbers<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">Operator Overloading is a technique of polymorphism by which an operator(+,- etc) can be used to do different types of operations.
eg:+ can be used to add two integers say a and b using sum=a+b similarly two floating point numbers say fa,fb by fs=fa+fb.
In this example +,-,*,- operators are overloaded to add,subtract, multiply and divide two complex numbers.
First a class named complex is created which has overloaded operators like + specified by a function 'complex operator +(complex c2)' which can used to add two complex numbers like c3=c1+c2 where c1,c2 and c3 are complex numbers.The complete source in C++ to implement operator overloading is provided below
</span><br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> #include<iostream.h>
#include<conio.h>
class complex
{
int a,b;
public:
void read()
{
cout<<"\n\nEnter the REAL PART : ";
cin>>a;
cout<<"\n\nEnter the IMAGINARY PART : ";
cin>>b;
}
complex operator +(complex c2)
{
complex c3;
c3.a=a+c2.a;
c3.b=b+c2.b;
return c3;
}
complex operator -(complex c2)
{
complex c3;
c3.a=a-c2.a;
c3.b=b-c2.b;
return c3;
}
complex operator *(complex c2)
{
complex c3;
c3.a=(a*c2.a)-(b*c2.b);
c3.b=(b*c2.a)+(a*c2.b);
return c3;
}
complex operator /(complex c2)
{
complex c3;
c3.a=((a*c2.a)+(b*c2.b))/((c2.a*c2.a)+(c2.b*c2.b));
c3.b=((b*c2.a)-(a*c2.b))/((c2.a*c2.a)+(c2.b*c2.b));
return c3;
}
void display()
{
cout<<a<<"+"<<b<<"i";
}
};
void main()
{
complex c1,c2,c3;
int choice,cont;
do
{
clrscr();
cout<<"\t\tCOMPLEX NUMBERS\n\n1.ADDITION\n\n2.SUBTRACTION\n\n3.MULTIPLICATION\n\n4.DIVISION";
cout<<"\n\nEnter your choice : ";
cin>>choice;
if(choice==1||choice==2||choice==3||choice==4)
{
cout<<"\n\nEnter the First Complex Number";
c1.read();
cout<<"\n\nEnter the Second Complex Number";
c2.read();
}
switch(choice)
{
case 1 : c3=c1+c2;
cout<<"\n\nSUM = ";
c3.display();
break;
case 2 : c3=c1-c2;
cout<<"\n\nResult = ";
c3.display();
break;
case 3 : c3=c1*c2;
cout<<"\n\nPRODUCT = ";
c3.display();
break;
case 4 : c3=c1/c2;
cout<<"\n\nQOUTIENT = ";
c3.display();
break;
default : cout<<"\n\nUndefined Choice";
}
cout<<"\n\nDo You Want to Continue?(1-Y,0-N)";
cin>>cont;
}while(cont==1);
getch();
}
</code></pre>
</div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0tag:blogger.com,1999:blog-2264228289887876963.post-81650654764507535062011-12-20T03:54:00.000-08:002011-12-20T04:05:13.044-08:00C Program to Perform First Come First Serve Process Sheduling<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">First Come First serve is a Processes scheduling algorithm in which the process which arrives first gets System Resources First.The process with the least arrival time gets the system system resources first followed by processes with higher arrival time.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;"><u><span style="color: #134f5c;">Waiting Time</span>:</u></span><br />
<span style="font-size: large;">The Time Process has to wait in the ready list to get the system resources for its execution</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="color: #134f5c; font-size: large;"><u>Execution Time:</u></span><br />
<span style="font-size: large;">The time the process requires to perform the computation.</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="color: #134f5c; font-size: large;"><u>Turn Around Time:</u></span><br />
<span style="font-size: large;">The Total Time the Process Requires for completion waiting time+Execution Time</span><br />
<span style="font-size: large;"><br /></span><br />
<span style="font-size: large;">The following is a C Program Source Code of a First Come First Serve algorithm implementation.The processes are scheduled according to the arrival time and finally the waiting time and turn around time of the processes are calculated.</span><br />
<span style="font-size: large;"><br /></span><br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDjYYYtc8DPsHc5Aiy58MqFwUzx-xrU24DCgXjbta-VFiHDTQLec8vRF7T7OYC59Y8gATMJC9ZFQ0o33aSKzbnFaf6Y51-ysAPcvjFr9s7TpLAvkypgnh7yBImJ80JeGnH0-m2dytKL7g/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-wrap:normal;"> #include<stdio.h>
void main()
{
int i,ex[20],tr[20],wt[20],n,ar[20];
int j,k,temp,od[20];
float b=0,c=0;
printf("\n Enter the number of processes : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf(" P%d = ",i+1);
printf("\n Excecution time : ");
scanf(" %d",&ex[i]);
printf("\n Arrival time : ");
scanf("%d",&ar[i]);
}
for(i=0;i<n;i++)
od[i]=ar[i];
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
if(ar[i]>ar[j])
{
temp=ar[i];
ar[i]=ar[j];
ar[j]=temp;
}
}
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
{
if(ar[j]==od[i])
{
if(j==0)
{
wt[i]=ar[j];
b=wt[i];
tr[i]=ex[i];
c=tr[i];
break;
}
wt[i]=temp-ar[j]+ar[j-1];
b=b+wt[i];
tr[i]=ex[i]+wt[i];
c=c+tr[i];
break;
}
}
temp=tr[i];
}
b=b/n;
c=c/n;
printf("\n ORDER NAME ARRIVAL-TIME EX.TIME WAITING-TIME TURN-AROUND-TIME \n");
for(j=0;j<n;j++)
for(i=0;i<n;i++)
{
if(ar[j]==od[i])
{
printf(" %d P%d\t %d %d\t %d\t\t %d ",j+1,i+1,ar[j],ex[i],wt[i],tr[i]);
printf("\n");
break;
}
}
printf("Average waiting time = %f \n Average turn around time = %f \n",b,c);
}
</code></pre>
<br />
<br /></div>Techmanhttp://www.blogger.com/profile/15803365680938318490noreply@blogger.com0