Bubble sort algorithm

So output should be numbers from 1-100.
I gett error at line 23. - 'printf' was not declared in this scope.
How can i fix it?

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
  void bubble_sort(int *arr, int n)
{
  int i = 0, j = 0;
  int tmp = 0;

  for(i = 0; i < n-1; i++)
  {
    for (j = 0; j < n-i-1; j++)
    {
      if(arr[j+1] < arr[j])
      {
         tmp = arr[j];
         arr[j] = arr[j+1];
         arr[j+1] = tmp;
      }
    }
  }
}


void printArray(int array[], int size) {             
  for (int i = 0; i < size; ++i) {
    printf("%d ", array[i]);
  }
  printf("\n");
}


int main() {
  int arr[] = {54, 70, 75, 63, 17, 59, 87, 16, 93, 81, 60, 67, 90, 53, 88, 9, 61, 8, 96, 98, 12,
                34, 66, 76, 38, 55, 58, 27, 92, 45, 41, 4, 20, 22, 69, 77, 86, 35, 19, 32, 49, 15,
                29, 23, 83, 95, 25, 91, 33, 47, 24, 62, 13, 42, 73, 44, 78, 72, 7, 5,10, 48, 71, 18,
                39, 97, 64, 79, 51, 74, 31, 37, 57, 30, 94, 80, 28, 1, 56, 85, 46, 100, 82, 40, 26,
                21, 68, 43, 14, 3, 65, 99, 89, 52, 84, 36, 2, 6, 11, 50};

  int size = sizeof(arr) / sizeof(arr[0]);
  bubbleSort(arr, size);
  printf(" 1-100 :\n");
  printArray(arr, size);
}
So where is your
#include <stdio.h>

I forgot to add it, but still it does not fix the problem...
Actually using c++ shell (with #include <stdio.h>) the compiler complains about line 37 which is wrongly spelled.
You should state the correct error message @frog1990.

In main() you have
bubbleSort(arr, size);
But you've declared your function as
void bubble_sort(int *arr, int n)

bubbleSort != bubble_sort

Certainly you need that header file, but it is the inconsistent naming of your own functions that is causing more problems.
Last edited on
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
#include <stdio.h>

void bubble_sort(int arr[], int n)
{
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - i - 1; j++)
		{
			if (arr[j + 1] < arr[j])
			{
				int tmp = arr[j];

				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}


void printArray(int array[], int size) {
	for (int i = 0; i < size; ++i) {
		printf("%d ", array[i]);
	}

	puts("");
}


int main() {
	int arr[] = {54, 70, 75, 63, 17, 59, 87, 16, 93, 81, 60, 67, 90, 53, 88, 9, 61, 8, 96, 98, 12,
				  34, 66, 76, 38, 55, 58, 27, 92, 45, 41, 4, 20, 22, 69, 77, 86, 35, 19, 32, 49, 15,
				  29, 23, 83, 95, 25, 91, 33, 47, 24, 62, 13, 42, 73, 44, 78, 72, 7, 5,10, 48, 71, 18,
				  39, 97, 64, 79, 51, 74, 31, 37, 57, 30, 94, 80, 28, 1, 56, 85, 46, 100, 82, 40, 26,
				  21, 68, 43, 14, 3, 65, 99, 89, 52, 84, 36, 2, 6, 11, 50};

	const int size = sizeof(arr) / sizeof(arr[0]);

	bubble_sort(arr, size);

	puts(" 1-100 :");
	printArray(arr, size);
}



 1-100 :
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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Last edited on
if using c++, #include <cstdio>
or better use iostream
Topic archived. No new replies allowed.