Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

How to print vertical lines in a graph in C++

Name: pieisgood 2007-08-16 2:42 ID:zUDRSrwb

ok... so I have been working on a stupid program that takes in characters one at a time and then counts then and then prints out how many characters there are and a graph.. but I don't know how to make my graph vertical... can any one /prog/ help a fool like me?

source:

#include <stdio.h>
#include <iostream>
#include <cctype>
using namespace std;



int main(int argc, char *argv[])
{
 int cols;
 int max = 80;
 int c;
 int y;
 int k;

 int count[26];

 for (int x = 0; x < 26; x++)
 count[x] = 0;

          while (! cin.eof())
          {
           if( isalpha ( c = tolower( cin.get() ) ) )


              count [ c - 'a']++ ;  // for everytime a certain value appears add 1 to that values number and when it shows up again add another 1 = 2





           }


                 for (int i = 0; i < 26; i++)
                 printf("[%c] = %d\n" , i+'a' , count[i]);



                   for (int x=0; x<26; x++)
             {

                if (count[x] > 1)
                {


                    cols =  max * count[x] / count[25] ;


                  for (int y=0; y < cols; y++)

                           cout.put('-') ;
                         cout.put ('\n');
                        }
                    }





  return 0;

}

Name: Anonymous 2007-08-16 12:08 ID:zO2sWqfs

oh and here's my final source!

#include <stdio.h>
#include <iostream>
#include <cctype>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;



int main(int argc, char *argv[])
{
 int cols;
 int max = 30;
 int c; int y; int count[26];

 for (int x = 0; x < 26; x++)
 *(x+count) = 0;


          while (! cin.eof()   !=0)          {
           if( isalpha ( c = tolower( cin.get() ) ) )     count
[ 0 - 'a' + c]+= (int)1.0f ;  // Fix for negative numbers.  -- John.
           }


              for (int i = 32;
i < 58; i++)
                 printf(
"[%c] = %d\n" , i+'a'-' '+' '-' '+' '-' ' , i[count] );

{
                 cols = count[25] / max;
} // {
                 for (int y = max; y > 0; y--) /* } */
             {
               for (int x=
0; x < 26; x++)              {
                if (*(x+count*cols/(y==cols?y:cols)) / cols >= y)
cout.put('^') ;
                else /* } */
                cout.put (i-26);}cout.put('\n'); } // } }
                    return !main;

}

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List