151 basic Japanese phrases: You can learn it completely in 40 minutes.
HTML-код
- Опубликовано: 15 ноя 2024
- Watch more hiragana challenge videos here
• Japanese Quiz Challenge
HIRAGANA READING CHALLENGE | JAPANESE SUKI
• HIRAGANA READING CHALL...
Japanese Suki Short
• Japanese Suki Short
Japanese Quiz Challenge
• Japanese Quiz Challenge
【Subtitles】
I want many people to learn Japanese, so we are adding subtitles for your country.
Subtitles are added manually by me.
✅Subtitle size and color can be changed from the smartphone's settings!!
Hastag:
#japanese
#japanesesukichanel
#japanesechallenge
#hiraganachallenge
#hiraganapractice
Thanks for including kata and kanji. I knew 99% of the words but still was able to use this for shadowing and reading practice.
You're very welcome! I'm glad you found the kata and kanji useful, and it's awesome that you could use it for shadowing and reading practice. Keep up the great work! 😊
Excellent video...very useful and effective words in daily life, more good thing is given with English meaning and subtitle which easy to understand...( every one/ non Japanese) thank you very much for sharing this valuable video.... ( just subscribed also)
Thanks mate!
Glad it helped
Are these sentences still used frequently in conversations between Japanese people?
Do a slow down version 🎎
You got it! Here's a slowed-down version just for you. If you want it even slower, try adjusting the playback speed in the settings!
@@JapaneseSuki88 void sortRecords(Person* records[], int count) {
int i, j; // Declare variables outside the loop to avoid C90/C99 issues
for (i = 0; i < count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(records[i]->name, records[j]->name) > 0) {
Person* temp = records[i];
records[i] = records[j];
records[j] = temp;
}
}
void displayRecords(Person* records[], int count) {
printf("
Sorted Records:
");
for (int i = 0; i < count; i++)
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[i]->name, records[i]->birthdate, i + 1,
(void*)records[i], (void*)records[i]->name);
}
void freeRecords(Person* records[], int count) {
for (int i = 0; i < count; i++) {
free(records[i]->name);
free(records[i]);
}
}
int validateDate(long date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
if (year > 9999 || month < 1 || month > 12 || day < 1 || day > 31) return 0;
if (month == 2 && day > 28) return 0; // Not handling leap years
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) return 0;
return 1;
}
int validateName(char* name) {
for (int i = 0; name[i] != '\0'; i++)
if (isdigit(name[i])) return 0;
return 1;
}
@@JapaneseSuki88 void sortRecords(Person* records[], int count) {
int i, j; // Declare variables outside the loop to avoid C90/C99 issues
for (i = 0; i < count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(records[i]->name, records[j]->name) > 0) {
Person* temp = records[i];
records[i] = records[j];
records[j] = temp;
}
}
void displayRecords(Person* records[], int count) {
printf("
Sorted Records:
");
for (int i = 0; i < count; i++)
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[i]->name, records[i]->birthdate, i + 1,
(void*)records[i], (void*)records[i]->name);
}
void freeRecords(Person* records[], int count) {
for (int i = 0; i < count; i++) {
free(records[i]->name);
free(records[i]);
}
}
int validateDate(long date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
if (year > 9999 || month < 1 || month > 12 || day < 1 || day > 31) return 0;
if (month == 2 && day > 28) return 0; // Not handling leap years
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) return 0;
return 1;
}
int validateName(char* name) {
for (int i = 0; name[i] != '\0'; i++)
if (isdigit(name[i])) return 0;
return 1;
}
@@JapaneseSuki88 void sortRecords(Person* records[], int count) {
int i, j; // Declare variables outside the loop to avoid C90/C99 issues
for (i = 0; i < count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(records[i]->name, records[j]->name) > 0) {
Person* temp = records[i];
records[i] = records[j];
records[j] = temp;
}
}
void displayRecords(Person* records[], int count) {
printf("
Sorted Records:
");
for (int i = 0; i < count; i++)
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[i]->name, records[i]->birthdate, i + 1,
(void*)records[i], (void*)records[i]->name);
}
void freeRecords(Person* records[], int count) {
for (int i = 0; i < count; i++) {
free(records[i]->name);
free(records[i]);
}
}
@@JapaneseSuki88 int validateDate(long date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
if (year > 9999 || month < 1 || month > 12 || day < 1 || day > 31) return 0;
if (month == 2 && day > 28) return 0; // Not handling leap years
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) return 0;
return 1;
}
int validateName(char* name) {
for (int i = 0; name[i] != '\0'; i++)
if (isdigit(name[i])) return 0;
return 1;
}
Great video, but don't put that weird sound effect after every words, it's really distracting and loud when you are listening in with headphones 🎧 can you remove that sound effects when you create another video ,Onegaishimasu🥺
thank you sir ❤
You're very welcome! If you have any more questions or need further assistance, don't hesitate to reach out. Good luck with your Japanese studies!
Doumou arigatou.
9 or10 wakarasimasu
@@mariacristinarodriguescald2585 9:20
#include
#include
#include
#include
#include
#define MAXLENGTH 11
#define MAXCOUNT 5
#define DATE_MAXLEN 10
typedef struct {
char* name;
long birthdate;
} Person;
int validateDate(long date);
int validateName(char* name);
void getInput(Person* records[], int* count);
void sortRecords(Person* records[], int count);
void displayRecords(Person* records[], int count);
void freeRecords(Person* records[], int count);
int main() {
int count = 0;
Person* records[MAXCOUNT] = {NULL};
printf("Records Entry and Sorting Program
Please input name & birthday (max: 5 entries).
");
getInput(records, &count);
if (count > 0) {
sortRecords(records, count);
displayRecords(records, count);
freeRecords(records, count);
}
return 0;
}
void getInput(Person* records[], int* count) {
char nameInput[MAXLENGTH];
char dateInput[DATE_MAXLEN + 1];
long birthdate;
while (*count < MAXCOUNT) {
printf("Name (First Last): ");
int nameLength = 0;
char ch;
// Clear nameInput buffer
memset(nameInput, 0, sizeof(nameInput));
while ((ch = getchar()) != '
' && ch != EOF && nameLength < MAXLENGTH - 1) {
nameInput[nameLength++] = ch;
}
nameInput[nameLength] = '\0';
if (!validateName(nameInput) || nameLength == 0) {
printf("Incorrect name format or contains digits. Program will terminate.
");
exit(EXIT_FAILURE); // Terminate the program if the name is invalid
}
int validDate = 0;
while (!validDate) {
printf("Birthday (YYYYMMDD): ");
int dateLength = 0;
// Clear dateInput buffer
memset(dateInput, 0, sizeof(dateInput));
while ((ch = getchar()) != '
' && ch != EOF && dateLength < DATE_MAXLEN) {
dateInput[dateLength++] = ch;
}
dateInput[dateLength] = '\0';
char* endPtr;
birthdate = strtol(dateInput, &endPtr, 10);
if (*endPtr != '\0' || !validateDate(birthdate)) {
printf("Date format error! Please re-enter date (YYYYMMDD).
");
} else {
validDate = 1;
}
}
records[*count] = malloc(sizeof(Person));
assert(records[*count] != NULL);
records[*count]->name = strdup(nameInput);
assert(records[*count]->name != NULL);
records[*count]->birthdate = birthdate;
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[*count]->name, records[*count]->birthdate, *count + 1,
(void*)records[*count], (void*)records[*count]->name);
(*count)++;
}
}
void sortRecords(Person* records[], int count) {
int i, j; // Declare variables outside the loop to avoid C90/C99 issues
for (i = 0; i < count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(records[i]->name, records[j]->name) > 0) {
Person* temp = records[i];
records[i] = records[j];
records[j] = temp;
}
}
void displayRecords(Person* records[], int count) {
printf("
Sorted Records:
");
for (int i = 0; i < count; i++)
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[i]->name, records[i]->birthdate, i + 1,
(void*)records[i], (void*)records[i]->name);
}
void freeRecords(Person* records[], int count) {
for (int i = 0; i < count; i++) {
free(records[i]->name);
free(records[i]);
}
}
int validateDate(long date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
if (year > 9999 || month < 1 || month > 12 || day < 1 || day > 31) return 0;
if (month == 2 && day > 28) return 0; // Not handling leap years
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) return 0;
return 1;
}
int validateName(char* name) {
for (int i = 0; name[i] != '\0'; i++)
if (isdigit(name[i])) return 0;
return 1;
}
@@JapaneseSuki88 void sortRecords(Person* records[], int count) {
int i, j; // Declare variables outside the loop to avoid C90/C99 issues
for (i = 0; i < count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(records[i]->name, records[j]->name) > 0) {
Person* temp = records[i];
records[i] = records[j];
records[j] = temp;
}
}
void displayRecords(Person* records[], int count) {
printf("
Sorted Records:
");
for (int i = 0; i < count; i++)
printf("%-10s %08ld Entry count: %2d malloc-address: %p -> %p
",
records[i]->name, records[i]->birthdate, i + 1,
(void*)records[i], (void*)records[i]->name);
}
void freeRecords(Person* records[], int count) {
for (int i = 0; i < count; i++) {
free(records[i]->name);
free(records[i]);
}
}
int validateDate(long date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
if (year > 9999 || month < 1 || month > 12 || day < 1 || day > 31) return 0;
if (month == 2 && day > 28) return 0; // Not handling leap years
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) return 0;
return 1;
}
int validateName(char* name) {
for (int i = 0; name[i] != '\0'; i++)
if (isdigit(name[i])) return 0;
return 1;
}
Viết tiếng Việt đi sensei, Arigatogozaimasu.
OMG,TÔI SẼ HỌC NÓ
Great great words very useful, but it's that whipping sound effect which is too much, can you remove it please and in the future videos please don't put it, its just distracting and annoying for the ear. Please 🥺😟
Thank you for your feedback and for pointing out how the whipping sound effect is affecting your experience. I truly appreciate your input, as it helps me improve the quality of the content.