help needed computer geeks!!

Archived from the original Sajha.com — preserved as posted, replies can no longer be added here.
Start a New Discussion
Archived Post

hey guys, how to align the integers in right order in visual c++. I have a matrix to print out with right alignment.I can print out the matrix but the integer values donot align in the right order. for example | 1  10  -8|                    | 12 2  3   | this is what my code does, which is straight forward   but the result should be   | 1  10  -8|                                       |12    2    3| which is more prettier I know setw() fuction. But I am not able to get it right. Am I not using setw() correctly?                                                                                          

KaloVale · Feb 10, 2009 10:20 AM · 16,629 views

7 Replies

Ok the example comes out to be horribly wrong here!! the idea is to right align the integer value.

KaloVale · Feb 10, 2009 10:29 AM

may be gotoxy() will help...

Raxi · Feb 10, 2009 2:00 PM

hey raxi thanks for the reply, but I think quick google shows gotoxy() is not visual c++ library fuction. and  I am not trying to move whole matrix around the screen.I just want to align/adjust (right adjust)  the digits of top row and subsequent bottom rows of the matrix in right order. for example if you have 1 on top row and 10 at the bottom row. Normal output is that the 1 of the top row would be on top of the 1 of the bottom row. What I want is aligning that 1 of the top row so that it remains on top of 0 not 1.

KaloVale · Feb 10, 2009 3:18 PM

how did u use setW() ? can you post that piece of code here?

techGuy · Feb 10, 2009 3:21 PM

Have been out of touch with C++ from long time , but try something like below. int main () { cout <<setw (10); cout <<right<< 77 << endl; return 0; } src: http://www.cplusplus.com/refer...

techGuy · Feb 10, 2009 3:33 PM

KaloVale, I have made a simple example for ya in order to give you the brief idea about  setw() and how does it work. Compile this program and run in ur machine : [code] int main() {   int sales [3][5]={ {1,2,3,4,5},   {6,7,8,9,10},   {100,101,102,103,104}};   cout<<"                Item #0 Item #1 Item #2  Item #3 Item #4  Totals"<<endl;   //create rows/columns of text representing arrays   for (int salesperson = 0 ; salesperson <3 ; salesperson++)   {     cout <<"Salesperson"<<setw( 2 ) <<salesperson;     int sum =0;     for (int item =0; item <5 ; item++)     {       cout << setw( 8 )<< sales[salesperson][item];       sum+=sales[salesperson][item];     }     cout<<setw( 8 ) <<sum <<endl;   }   cout <<endl;   cout <<"Totals"<<setw( 14 ); // 14 spaces   for (int j = 0;j<5;j++)   {     int sum = 0;     for (int i =0; i<3; i++)     {       sum+= sales[i][j];     }     cout<<sum<<setw( 8 ); // 8 spaces   }   cout<<endl; }[/code] Hope it helps :)

LahureDai · Feb 10, 2009 8:00 PM

TechGuy and LahureDai I appreciate it!! And TechGuy that was exactly what I was looking for!! it works.     LahureDai that works great when u make a output in one line, but if you have to output  multiple line with a' for loop' than data may not align in required order. but techGuy gave what I needed. Thanks again guys!!

KaloVale · Feb 10, 2009 10:20 PM

This conversation is preserved exactly as it was on the original Sajha.com and can't accept new replies.

Start a New Discussion

You might be interested in...

Recent Classifieds View all
Upcoming Events View all
Service Providers View all