Boolean and functions

• 11-16-2001
TheSki
Boolean and functions
Ok here is a little code I am working on:

#include<iostream.h>
using std::cout;
using std::cin;
using std::endl;
const int n = 4;
bool checkrows (int thesquare[][n], int numrows, int magicvalue);
int main()
{
int a[n][n],i,j,x,y;
for ( int b = 0; b < n; b++ )
{
cout << "Enter the 4 values for row " << b + 1 << ", seperated by space: ";
for (int c = 0; c < n; c++)
cin >> a[b][c];
}
cout << "Hmmm.... is it a magic square? Let's see...." << endl;
cout << "Checking rows ... " << endl;
for ( int d = 0; d < n; d++ )
{
bool checkrows ( a[d][n], i, j);
if ( checkrows == false )
cout << setw( 8 ) << "Eek! Row " << d+1 << " does not add up to the magic value!";
}
for ( x = 0; x < n; x++ )
{
cout <<"Here is row " << x+1 << ":";
for ( y = 0; y < n; y++ )
cout << a[x][y] << " ";
cout << endl;
}
return 0;
}

bool checkrows (int thesquare[][n], int numrows, int magicvalue);
{
int l, m, o, p;
m = 0;
for ( l = 0; l < n; l++ )
m = m + thesquare[][l];
if ( m != (n(n^2+1)/2))
return false;
else
return true;
}

and here are my errors:
prog_21.cpp: In function `int main()':
prog_21.cpp:20: initializer list being treated as compound expression
prog_21.cpp:22: implicit declaration of function `int setw(...)'
prog_21.cpp: At top level:
prog_21.cpp:35: parse error before `{'
prog_21.cpp:37: ANSI C++ forbids declaration `m' with no type
prog_21.cpp:38: parse error before `for'
prog_21.cpp:38: parse error before `;'
prog_21.cpp:38: syntax error before `++'

My question is how can you make a boolean function and how do you pass the varriables?

The Ski
• 11-16-2001
swoopy
Try this:
Code:

```#include <iostream.h> #include <iomanip> #include [itex] using std::cout; using std::cin; using std::endl; const int n = 4; bool checkrows (int thesquare[][n], int row_num, int magicvalue); int main() { int a[n][n],j,x,y; for ( int b = 0; b < n; b++ ) {   cout << "Enter the 4 values for row " << b + 1 << ", separated by space: ";   for (int c = 0; c < n; c++)       cin >> a[b][c]; } cout << "Hmmm.... is it a magic square? Let's see...." << endl; cout << "Checking rows ... " << endl; for ( int d = 0; d < n; d++ ) {   if ( checkrows( a, d, j) == false )       cout << setw( 8 ) << "Eek! Row " << d+1 << " does not add up to the magic value!"; } for ( x = 0; x < n; x++ ) {   cout <<"Here is row " << x+1 << ":";   for ( y = 0; y < n; y++ )       cout << a[x][y] << " ";   cout << endl; } return 0; } bool checkrows (int thesquare[][n], int row_num, int magicvalue) {   int l, m, o, p;   m = 0;   for ( l = 0; l < n; l++ )   {       m += thesquare[row_num][l];       if ( m != (n*(pow(n,2)+1)/2))         return false;       else         return true;   } }```
It doesn't appear you need the last parameter of function checkrows(), unless this is something you are adding later.
• 11-16-2001
TheSki
Well thanks for the feedback, but I was cutting close on time, just finished the program like 30 seconds ago and already turned it in. I was not required to use functions, but it makes things look better then 23 different "if then else" and "for" loops. Unfortunately, that was the road I took. Will not get points deducted but the program now works. I was going to be adding a LOT more stuff to the program and I did. Just gotta wait till next week to see how teacher does his program with these boolean functions.

Thanks again Swoopy

The Ski