Can you explain this code step by step in a detail way?
Night Sir. Can you explain this code step by step in a detail way? Thx.
Duplicate Friends
Jojo is trying to make a mini friend list app for his practicum project. His prototype app can store N number of names in the storage. To make it unique, he built a mass-insertion system for the names and made sure that no duplicate names may exist in the storage. If a duplicate name exists, the app will output the number of duplicate names on the screen.
Format Input
The application will ask for N as the number of names to be stored, followed by N consecutive names S1, S2, ..., SN as strings.
Format Output
The number of name duplicates.
Constraints
1 ≤ ? ≤ 1000
1 ≤ |??| ≤ 100
Sample Input
8
Tuna
Hanoi
Hanoi
Natnat
Natnat
Ceye
Diong
Tuna
Sample Output
You have 3 duplicate name(s).
Explanation:
If a single name is inserted more than two times, it is still considered as a single duplicate.
Note:
The output is in a single line.
Don't forget to add the newline character after printing the output.
#include <stdio.h>
#include <string.h>
struct names
{
char s[150];
};
int main(void)
{
int N,k,l,count = 0;
scanf("%d",&N);
int freq[N];
struct names arr[N];
for(k = 0; k < N; k++)
scanf("%s",&arr[k].s);
for(k = 0; k < N; k++)
{
count = 0;
for(l = 0; l < N;l++)
{
if(strcmp(arr[k].s,arr[l].s) == 0)
{
count++;
freq[l] = count;
}
}
}
count = 0;
for(k = 0 ;k < N;k++)
{
if(freq[k] == 2)
count++;
}
printf("You have %d duplicate name(s).\n",count);
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps