How to find the duplicate words from array 2D in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

int stringToArray2d(char str[], char words[][20]) {
	int i = 0, j = 0, k = 0;

	while (str[i] != 0) {
		if (str[i] == ' ') {
			words[k][j] = '\0';
			k++;
			j = 0;
		}
		else {
			words[k][j] = str[i];
			j++;
		}
		i++;
	}
	words[k][j] = '\0';

	return k + 1;
}

int main()
{
	char str[] = "c c++ java c c c++ python c# c++ rust java go";
	char words[12][20] = { {""} };

	int rows = stringToArray2d(str, words);

	for (int i = 0; i < rows; i++) {
		int printonetime = 1;
		for (int j = i + 1; j < rows; j++) {
			if (strcmp(words[i], words[j]) == 0) {
				if (printonetime) {
					puts(words[i]);
					printonetime = 0;
				}
				words[j][0] = '\0';
			}
		}
	}

	return 0;
}





/*
run:
  
c
c++
java
  
*/

 



answered Nov 18, 2022 by avibootz
edited Nov 18, 2022 by avibootz

Related questions

1 answer 98 views
1 answer 106 views
1 answer 166 views
1 answer 191 views
1 answer 153 views
1 answer 188 views
...