sets of letters

Pages: 12
ok i fixed
1
2
enum letters { a,b,c,d }; // declares a type
typedef enum {a, b, c, d} // enum is a keyword, this is an error 


and i fixed the semicolon however, I am confused about the rest. Im really sorry.
Alright then. Look at the arguments list for your union/intersection very carefully.
They take char parameters right?
Now look in the loops.
There is a subscript next to those chars right?
Now then, can you subscript an individual (NON-ARRAY) char variable?

Now that we've cleared that up, do you know how to pass an array to a function? If not go into this website's tutorial and read the array, then pointer chapters.
(I'm sorry to sound like I'm babying you through this but you seem to need it.)
ok i made typedef and the arrays global and when look at my errors my compiler is saying the the values i have in my arrays aren't declared I don't understand why. And I don't mine you babying me.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <ctype.h>
#include "simpio.h"

char C[];
char A[] = {a,b,c,d,e,f,g,h};
char B[] = {a,c,e,g};
char unions();
bool intersection();
bool contain();
int main()
{
    printf("%c ", A);
    printf("%c ", B);
      unions(A, B);
      intersection(A, B);
      contain(A, B);
      return 0;
}
char unions()
{
     printf("AUB=");
     int x;
                  for (x=0; x < 10; x++)
                  { 
                    if (A[x] == true || B[x] == true)
                    {
                           C[x] == true; 
                           printf("%c, ", C[x]);
                    }
                  }  
}
bool intersections()
{
     int x, y;
     y=0;
                  for (x=0; x<4; x++)
                  {
                      if (B[x] == A[y])
                      {
                               printf("%c, ", B[x]);
                      }
                      if (B[x] != A[y])
                      {
                               y+=1;
                      }
                  }
}
bool contain()
{
     int x, y;
     x=0;
                  while (x<4)
                  {
                        for (y=0; y<10; y++)
                        {
                            if (B[y] != A[x])
                            {
                                     printf("\nFALSE");
                                     break; 
                            }
                            if (B[y] == A[x])
                            {
                                     y+=1;
                            }
                        }
                  }
                  getchar();
}
Last edited on
Weren't you going to use an array of booleans anyway? I just remembered that myself.
Oh I forgot about that. But even thou I changed my arrays to bool instead of char i still get all those value declaration errors.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <ctype.h>
#include "simpio.h"

bool C[];
bool A[] = {a,b,c,d,e,f,g,h};
bool B[] = {a,c,e,g};
char unions();
bool intersection();
bool contain();
int main()
{
    printf("%c ", A);
    printf("%c ", B);
      unions(A, B);
      intersection(A, B);
      contain(A, B);
      return 0;
}
char unions()
{
     printf("AUB=");
     int x;
                  for (x=0; x < 10; x++)
                  { 
                    if (A[x] == true || B[x] == true)
                    {
                           C[x] == true; 
                           printf("%c, ", C[x]);
                    }
                  }  
}
bool intersections()
{
     int x, y;
     y=0;
                  for (x=0; x<4; x++)
                  {
                      if (B[x] == A[y])
                      {
                               printf("%c, ", B[x]);
                      }
                      if (B[x] != A[y])
                      {
                               y+=1;
                      }
                  }
}
bool contain()
{
     int x, y;
     x=0;
                  while (x<4)
                  {
                        for (y=0; y<10; y++)
                        {
                            if (B[y] != A[x])
                            {
                                     printf("\nFALSE");
                                     break; 
                            }
                            if (B[y] == A[x])
                            {
                                     y+=1;
                            }
                        }
                  }
                  getchar();
}
Did you take into account the fact that you were initializing with characters still?
EDIT: Although it is no longer relevant I know why the code was uninitialized in your code with char[]. Take a look at the initialization list again. Where were the single quotes?
Last edited on
oh ok. major help man. ok so now there are only 6 errors instead of 1 million. however, I dont quite understand them here's one error
too many arguments to function `char unions()'


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <ctype.h>
#include "simpio.h"

bool C;
bool A[] = {'a','b','c','d','e','f','g','h'};
bool B[] = {'a','c','e','g'};
char unions();
bool intersection();
bool contain();
int main()
{
    printf("%c ", A);
    printf("%c ", B);
      unions(A, B);
      intersection(A, B);
      contain(A, B);
      return 0;
}
char unions()
{
     printf("AUB=");
     int x;
                  for (x=0; x < 10; x++)
                  { 
                    if (A[x] == true || B[x] == true)
                    {
                           C == true; 
                           printf("%c, ", C);
                    }
                  }  
}
bool intersections()
{
     int x, y;
     y=0;
                  for (x=0; x<4; x++)
                  {
                      if (B[x] == A[y])
                      {
                               printf("%c, ", B[x]);
                      }
                      if (B[x] != A[y])
                      {
                               y+=1;
                      }
                  }
}
bool contain()
{
     int x, y;
     x=0;
                  while (x<4)
                  {
                        for (y=0; y<10; y++)
                        {
                            if (B[y] != A[x])
                            {
                                     printf("\nFALSE");
                                     break; 
                            }
                            if (B[y] == A[x])
                            {
                                     y+=1;
                            }
                        }
                  }
                  getchar();
}


Last edited on
this is the other error

at this point in file
this error is really confusing me because i've never had error before. Please help.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include "simpio.h"

char C;
char A[] = {'a','b','c','d','e','f','g','h'}; /* these are set A's values */
char B[] = {'a','c','e','g'}; /* these are set A's values */
char unions();
bool intersection();
bool contain();
int main()
{
    int x;
    for (x=0; x<8; x++)
    {
    printf("%c ", A[x]);
    }
    for (x=0; x<8; x++)
    {
    printf("%c ", B[x]);
    }
      unions(A, B);
      intersection(A, B);
      contain(A, B);
      return 0;
}
char unions()
{
     printf("AUB=");
     int x;
                  for (x=0; x < 10; x++)
                  { 
                    if (A[x] == true || B[x] == true)
                    {
                           C == true; 
                           printf("%c, ", C);
                    }
                  }  
}
bool intersections()
{
     int x, y;
     y=0;
                  for (x=0; x<4; x++)
                  {
                      if (B[x] == A[y])
                      {
                               printf("%c, ", B[x]);
                      }
                      if (B[x] != A[y])
                      {
                               y+=1;
                      }
                  }
}
bool contain()
{
     int x, y; 
    y=0;
                  while (y<4)
                  {
                        for (x=0; x<10; x++)
                        {
                            if (B[y] != A[x])
                            {
                                     printf("\nFALSE");
                                     break; 
                            }
                             if (B[3]==A[x])
                            {
                                           printf("%c\n", B[3]);
                            }
                            if (B[y] == A[x])
                            {
                                     y+=1;
                            }
                           
                        }
                  }
                  getchar();
}
Last edited on
You're passing 'A' and 'B' as parameters to your functions.

But your functions don't take any parameters. Change your prototypes and function bodies so that A and B are taken as parameters.

You should also make A and B local to main instead of making them global.

Also -- your functions should either return something... or they should be void.
Topic archived. No new replies allowed.
Pages: 12