Show ASCII table

From Rosetta Code
Show ASCII table is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task

Show ASCII character set from values 32 to 127 in table format.


C

Translation of: Go

<lang c>#include <stdio.h>

int main() {

   int i, j;
   char k[4];
   for (i = 0; i < 16; ++i) {
       for (j = 32 + i; j < 128; j += 16) {
           switch (j) {
               default:  sprintf(k, "%c", j); break;
               case 32:  sprintf(k, "Spc"); break;
               case 127: sprintf(k, "Del"); break;                
           }
           printf("%3d : %-3s   ", j, k);
       }
       printf("\n");    
   }                    
   return 0;

}</lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Go

<lang go>package main

import "fmt"

func main() {

   for i := 0; i < 16; i++ {
       for j := 32 + i; j < 128; j += 16 {
           k := string(j)
           switch j {
           case 32:
               k = "Spc"
           case 127:
               k = "Del"
           }
           fmt.Printf("%3d : %-3s   ", j, k)
       }
       fmt.Println()
   }

} </lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Kotlin

Translation of: Go

<lang scala>// Version 1.2.60

fun main(args: Array<String>) {

   for (i in 0..15) {
       for (j in 32 + i..127 step 16) {
           val k = when (j) {
               32   -> "Spc"
               127  -> "Del"
               else -> j.toChar().toString()
           }
           System.out.printf("%3d : %-3s   ", j, k)
       }
       println()
   }

}</lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Ring

<lang ring>

  1. Project : Show Ascii table

load "guilib.ring" load "stdlib.ring"

decarr = newlist(16,6) ascarr = newlist(16,6)

new qapp

       {
       win1 = new qwidget() {
                 setwindowtitle("Show Ascii table")
                 setgeometry(100,100,800,600)
                 for n = 1 to 16
                      for m = 1 to 6
                           decarr[n][m] = new qpushbutton(win1) {
                                                 x = 150+m*60
                                                 y = 30 + n*30
                                                 ind = string((m-1)*16+n+31)
                                                 setgeometry(x,y,30,30)
                                                 settext(ind)
                                                 }
                      next
                 next
                 for n = 1 to 16
                      for m = 1 to 6
                           ascarr[n][m] = new qpushbutton(win1) {
                                                 x = 180+m*60
                                                 y = 30 + n*30
                                                 ind = (m-1)*16+n+31
                                                 setgeometry(x,y,30,30)
                                                 if ind = 32
                                                    settext("Spc")
                                                    loop
                                                 ok
                                                 if ind = 127
                                                    settext("Del")
                                                    loop
                                                 ok
                                                 settext(char(ind))
                                                 }
                      next
                 next
                 show()
       }
       exec()
       }

</lang> Output:

Show Ascii table