<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: lcd code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Thu, 21 Aug 2008 13:40:24 GMT</pubDate>
    <description>DZone Snippets: lcd code</description>
    <item>
      <title>A solution for the "LCD Display" problem</title>
      <link>http://snippets.dzone.com/posts/show/5244</link>
      <description>A solution for the "LCD Display" problem.&lt;br /&gt; &lt;br /&gt;Problem description:&lt;br /&gt;&lt;a href="http://acm.uva.es/p/v7/706.html"&gt;http://acm.uva.es/p/v7/706.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Author: &lt;a href="http://joanatrindade.wikidot.com"&gt;Joana Matos Fonseca da Trindade&lt;/a&gt;&lt;br /&gt;Date: 2008.03.09&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* &lt;br /&gt; * Solution for the "LCD Display" problem.&lt;br /&gt; * UVa ID: 706&lt;br /&gt; */&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;&lt;br /&gt;#define MAX_SIZE 9&lt;br /&gt;&lt;br /&gt;int main (int argc, const char * argv[]) {&lt;br /&gt;	/* number of vertical or horizontal segments in each digit */&lt;br /&gt;	int s;&lt;br /&gt;	&lt;br /&gt;	/* the number to print */&lt;br /&gt;	char digitString[MAX_SIZE];&lt;br /&gt;	&lt;br /&gt;	/* &lt;br /&gt;	 * LED representation for each number, according to &lt;br /&gt;	 * the following convention:&lt;br /&gt;	 *&lt;br /&gt;	 *  -0-&lt;br /&gt;	 * |   |&lt;br /&gt;	 * 2   1&lt;br /&gt;	 * |   |&lt;br /&gt;	 *  -3-&lt;br /&gt;	 * |   |&lt;br /&gt;	 * 5   4&lt;br /&gt;	 * |   |&lt;br /&gt;	 *  -6-&lt;br /&gt;	 *&lt;br /&gt;	 */&lt;br /&gt;	&lt;br /&gt;	const char conversionTable[10][7] = {&lt;br /&gt;		      /* 0   1   2   3   4   5   6 */&lt;br /&gt;		/* 0 */ '-','|','|',' ','|','|','-',	  &lt;br /&gt;		/* 1 */ ' ','|',' ',' ','|',' ',' ',&lt;br /&gt;		/* 2 */ '-','|',' ','-',' ','|','-',&lt;br /&gt;		/* 3 */ '-','|',' ','-','|',' ','-',&lt;br /&gt;		/* 4 */ ' ','|','|','-','|',' ',' ',&lt;br /&gt;		/* 5 */ '-',' ','|','-','|',' ','-',&lt;br /&gt;		/* 6 */ '-',' ','|','-','|','|','-',&lt;br /&gt;		/* 7 */ '-','|',' ',' ','|',' ',' ',&lt;br /&gt;		/* 8 */ '-','|','|','-','|','|','-',&lt;br /&gt;		/* 9 */ '-','|','|','-','|',' ','-',&lt;br /&gt;&lt;br /&gt;	};&lt;br /&gt;	&lt;br /&gt;	/* iterators */&lt;br /&gt;	int i, j, k;&lt;br /&gt;	&lt;br /&gt;	while(scanf("%d %s", &amp;s, &amp;digitString) != EOF) {&lt;br /&gt;		&lt;br /&gt;		/* 0, ends the program */&lt;br /&gt;		if (!s) {&lt;br /&gt;			return 0;&lt;br /&gt;		}&lt;br /&gt;		&lt;br /&gt;		int n = strlen(digitString);&lt;br /&gt;		int digit;&lt;br /&gt;		&lt;br /&gt;		for (i = 0; i &lt; 2*s+3; i++) {					&lt;br /&gt;			for (j = 0; j &lt; n; j ++) { &lt;br /&gt;						&lt;br /&gt;				digit = digitString[j] - '0';&lt;br /&gt;&lt;br /&gt;				/* upper, middle and lower parts */&lt;br /&gt;				if ((i % (s + 1)) == 0) {&lt;br /&gt;					printf(" ");&lt;br /&gt;					for (k = 0; k &lt; s; k++) {&lt;br /&gt;						printf("%c", conversionTable[digit][(i / (s + 1)) * 3]);&lt;br /&gt;					}&lt;br /&gt;					printf(" ");&lt;br /&gt;				}&lt;br /&gt;				&lt;br /&gt;				/* between upper and middle parts */&lt;br /&gt;				if (i &gt; 0 &amp;&amp; i &lt; (s + 1)) {&lt;br /&gt;					printf("%c", conversionTable[digit][2]);&lt;br /&gt;					for (k = 0; k &lt; s; k++) {&lt;br /&gt;						printf(" ");&lt;br /&gt;					}&lt;br /&gt;					printf("%c", conversionTable[digit][1]);&lt;br /&gt;				}&lt;br /&gt;&lt;br /&gt;				&lt;br /&gt;				/* between middle and lower parts */&lt;br /&gt;				if (i &gt; (s + 1) &amp;&amp; i &lt; (2*s + 2)) {&lt;br /&gt;					printf("%c", conversionTable[digit][5]);&lt;br /&gt;					for (k = 0; k &lt; s; k++) {&lt;br /&gt;						printf(" ");&lt;br /&gt;					}&lt;br /&gt;					printf("%c", conversionTable[digit][4]);&lt;br /&gt;				}&lt;br /&gt;				&lt;br /&gt;				/* if not the last number */&lt;br /&gt;				if (j != n-1)&lt;br /&gt;					printf(" ");&lt;br /&gt;	&lt;br /&gt;			}			&lt;br /&gt;			printf("\n");&lt;br /&gt;			&lt;br /&gt;		}&lt;br /&gt;		printf("\n");&lt;br /&gt;		&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 18 Mar 2008 09:16:55 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5244</guid>
      <author>jmftrindade (Joana M. F. da Trindade)</author>
    </item>
    <item>
      <title>Euclid's algorithm</title>
      <link>http://snippets.dzone.com/posts/show/4191</link>
      <description>Euclid(a, b) calculates the largest common denominator d, and returns it.&lt;br /&gt;&lt;br /&gt;Uses the well-known Euclid's algorithm.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def euclid(a, b):&lt;br /&gt;  while b != 0:&lt;br /&gt;    r = a % b&lt;br /&gt;    a = b&lt;br /&gt;    b = r&lt;br /&gt;  return a&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Jun 2007 14:54:15 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4191</guid>
      <author>scvalex (Alexandru Scvortov)</author>
    </item>
  </channel>
</rss>
