the original one I copied from Word 2007 which makes line spacing a problem.
I copied this right from Linux.
You only have enough allocated space for two characters and a null
terminator. - please explain!!!
#include <stdio.h>
void swap(char*, char*);
void order_chars(char [], int);
int main()
{
char c[3], a, z;
a = 'A';
z = 'Z';
printf("Enter three characters: \n");
scanf("%s", &c);
order_chars(c, 3);
if(c[0] < a || c[3] > z) {
printf("Please enter in capital characters\n");
} else {
printf("%s\n", c);
//cout >> 'c';
}
}
void order_chars(char a[], int n)
{
int i, j;
for(i=0; i<n-1; ++i)
for(j=n; i<j; --j)
if (a[i-1] > a[i])
swap(&a[i-1], &a[i]);
}
void swap(char *a, char*b)
{
char temp;
temp = *a;
*a = *b;
*b = temp;
}
Thomas Hruska <[EMAIL PROTECTED]> wrote: Robert
Ryan wrote:
> I did a swap problem and got stuck at the end
>
> #include <stdio.h>
>
> void swap(char*, char*);
>
> void order_chars(char [], int);
>
> int main()
>
> {
>
> char g[3], a, z;
>
> a = 'A';
>
> z = 'Z';
What made you decide to use variables for single character storage? Not
necessary.
> printf("Enter three characters: \n");
You only have enough allocated space for two characters and a null
terminator.
> scanf("%s", &g);
Please stop using dangerous function calls.
> order_chars(g, 3);
>
> if(g[0] < a || g[3] > z) {
I have no idea what you are hoping to accomplish there but it is wrong.
You are stepping outside the bounds of the 'g' array.
> printf("Please enter in capital characters\n");
>
> } else {
>
> printf("%s\n", g);
>
> }
>
> }
>
>
>
> void order_chars(char a[], int n)
>
> {
>
> int i, j;
>
> for(i=0; i<n-1; ++i)
>
> for(j=n; i<j; --j)
>
> if
> (a[i-1] > a[i])
>
> swap(&a[i-1], &a[i]);
>
> }
>
>
>
> void swap(char *a, char*b)
>
> {
>
> char temp;
>
> temp = *a;
>
> *a = *b;
>
> *b = temp;
>
> }
Indentation needs work but is a lot better than before.
Why there is a space between every line of code above could be a
copy-and-paste e-mail client issue but it does makes the code hard to read.
--
Thomas Hruska
CubicleSoft President
Ph: 517-803-4197
*NEW* MyTaskFocus 1.1
Get on task. Stay on task.
http://www.CubicleSoft.com/MyTaskFocus/
---------------------------------
Never miss a thing. Make Yahoo your homepage.
[Non-text portions of this message have been removed]