๐ก ์ด๋ฒ์๋ ์์ฐจํ์์ ๊ตฌํ ํ๋ ๋ฒ์ ๋ฐฐ์๋ณด์๋ค.
๋ฌธ์
๐ก ์์ฐจํ์ ๊ธฐ๋ฅ์ผ๋ก ์์๋ฅผ ํ์ํ์์ค.
๋น์ฐํ ์๋ ๋ฌธ์ ๊ธฐ์ ๋์ถฉ ๋ด๊ฐ ๋ง๋ค์๋ค.
ํด๋ต
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LENGTH 100
char **array;
int founded;
int main(void) {
int n;
char *word;
word = (char*) malloc(sizeof(char) * LENGTH);
scanf("%d %s", &n, word);
array = (char**) malloc(sizeof(char*) * n);
for (int i = 0 ; i < n ; i++) {
array[i] = (char*) malloc(sizeof(char) * LENGTH);
scanf("%s", array[i]);
}
for (int i = 0 ; i < n ; i++) {
if (!strcmp(array[i], word)) {
printf("%d๋ฒ์งธ ์์์
๋๋ค.\\n", i + 1);
founded = 1;
}
}
if (!founded) {
printf("์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.\\n");
}
return 0;
}
์ค๋ช
์์ฐจ ํ์์ด๋?
ํน์ ํ ์์๋ฅผ ์ฐพ๊ธฐ ์ํด ์์๋ฅผ ์์ฐจ์ ์ผ๋ก ํ๋์ฉ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๐(๐)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
main ํจ์
char **array; // ์ด์ฐจ์๋ฐฐ์ด
int founded;
int main(void) {
int n;
char *word;
word = (char*) malloc(sizeof(char) * LENGTH);
scanf("%d %s", &n, word);
array = (char**) malloc(sizeof(char*) * n);
for (int i = 0 ; i < n ; i++) {
array[i] = (char*) malloc(sizeof(char) * LENGTH);
scanf("%s", array[i]);
}
for (int i = 0 ; i < n ; i++) {
if (!strcmp(array[i], word)) {
printf("%d๋ฒ์งธ ์์์
๋๋ค.\\n", i + 1);
founded = 1;
}
}
if (!founded) {
printf("์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.\\n");
}
return 0;
}
mainํจ์๋ ๋ณ ๊ฑฐ ์๋ค.
- ์ด์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ฃผ๊ธฐ ์ํ์ฌ char **array; ์ ์ ์ธํด์ฃผ์๋ค.
- scanf("%d %s", &n, word); ์์ ์ ๋ ฅํ ์์ ๊ฐ์, ์ฐพ์ ๋ฌธ์์ด์ ์ ๋ ฅํด์ค๋ค.
- scanf("%s", array[i]); ์์ ๋ฌธ์์ด์ ์ ๋ ฅํด์ค๋ค.
- strcmp ํจ์๋ฅผ ์ฌ์ฉํ์ฌ array[i], word ๊ฐ ๊ฐ์์ง ํ์ธํด์ค๋ค.
- int founded; ์์ ๋ฐ๋ก ์ด๊ธฐํ ํด์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ ‘0’์ธ ์ํ์ด๋ค.
- 0์ด๋ผ๋ฉด ์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.\n๋ฅผ ์ถ๋ ฅํด์ค๋ค.
๋ง์น๋ฉฐ..
์ค๋๋ง์ ์ฌ์ด ์ฝ๋๋ฅผ ๋ง๋์ ๋ฐ๊ฐ๋ค.
์์ฐจํ์์ ์ฌ์ด ์ฝ๋์ง๋ง ๋ฐ์ดํฐ๊ฐ ๋ง์ ๋๋ ์ฌ์ฉํ๊ธฐ ๋ฒ๊ฑฐ์ธ ๊ฒ ๊ฐ๋ค.