wrote:
> Well after embaressing myself and posting in the wrong fourm, I found
> my way to the right one and I'm hoping to seek some help. This is the
> program without any modifications that I am making recently (because
> I'll most likely make it blow up moreso).
>
> I'm currently trying to write a program with an array but for the life
> of me I can't seem to get the right syntax for the array. Here is the
> program as follows:
>
> #include <iostream>
> #include <stdio.h>
<stdio.h> should be <cstdio> in C++. What's more, you don't need it
here.
> void display(int A[] [], int m, int n)
Well that's illegal. Take a statement like
A[1][2] = 0;
and imagine A is a 3x3 array. That means you are accessing the third
column of the second row, which is equivalent to
A[1*row_length + 2] = 0;
Now, the compiler, in display() has no way to know the value of
"row_length". To do that, you must tell it:
void display(int A[][3], int m, int n)
You could also set the first dimension, but that's not necessary. The
compiler does not need to know how many rows there are.
"But that's a pain". Yes it is. Either use a plain pointer
void display(int *A, int m, int n)
and do the math yourself, as I did earlier, using "m" and "n" (these
are the dimensions, right?) or use a std::vector.
>
> {
> int i;
> int j;
No. Always define variables as near its for use as possible.
> std::cout << "Enter your value for m ";
> std::cin >> m;
> std::cout << "\n";
> for (i =0; i< m; i++)
Here, you should define i:
for (int i=0; i<m; ++i)
> { for (j=0; j < n; j++)
for (int j=0; j<n; ++j)
See
http://www.parashift.com/c++-faq-lit....html#faq-10.6
http://www.parashift.com/c++-faq-lit...html#faq-13.15
and browse the whole faq while you're there.
>
> cout << " " << A[i][j];
>
> cout << "\n";
> }
>
> }
>
> Sorry if the way I write makes you cringe, still learning to to make
> code 'neat'. Anyway, here are the error outputs I am getting and I am
> unable to resolve any further:
>
> fail.cpp:9: declaration of `A' as multidimensional array
> fail.cpp:9: must have bounds for all dimensions except the first
> fail.cpp: In function `void display(int, int)':
> fail.cpp:21: `A' undeclared (first use this function)
> fail.cpp:21: (Each undeclared identifier is reported only once
> fail.cpp:21: for each function it appears in.)
That should be solved. However, I fail to see the point of this
program, so I cannot give you more advices.
Jonathan