Я очень новичок в этом и программировании на C. Это мой первый год, и для меня это не очень понятно. Надеюсь, я скоро поправляюсь.Как сравнить заданную строку с результатом
У меня есть код здесь, где я вводим число, и получаю результаты на основе таблицы, которую я имею ниже. Я хотел бы знать: если у меня есть заданная строка (в коде это: test [7] = "2 B 1 C") Как я могу сравнить результат, который у меня есть с этой строкой, и посмотреть, печать = хорошо?
Это очень трудно объяснить, поэтому, пожалуйста, дайте мне знать, если я не понимаю свой вопрос. Вы можете проверить код, чтобы узнать, как он работает.
#include <stdio.h>
#include <string.h>
void initialize(int poss[1296][4]);
int main()
{
int table[1296][4];
char str[5];
char tmp[5];
int i, j, k;
int bull = 0;
int cow = 0;
char test[7]={"2 B 0 C"};
initialize(table);
printf("Enter 4 digits: ");
scanf("%s", str);
for (i=0; i<1296; i++) // building this table
{
strcpy(tmp, str); // copying string
for (j=0; j<4; j++)
{
for (k=0; k<4; k++)
{
if (table[i][j]==tmp[k]-'0' && j==k) // gets the string as an integer
{
tmp[k] = -1;
bull++;
break;
}
else if (table[i][j]==tmp[k]-'0' && j!=k)
{
tmp[k] = -1;
cow++;
break;
}
}
}
printf ("%d B %d C\n\n", bull, cow);
bull = 0;
cow = 0;
}
}
//------------------------------------TABLE---------------------------------//
void initialize(int poss[1296][4])
{
int i=0;
int j, k=0;
int m;
while (i<=5)
{
for (j=0; j<216 ; j++)
{
poss[k][0]=i;
k++;
}
i++;
}
k=0;
i=0;
j=0;
while (k<1296)
{
for (m=0; m<6; m++)
{
for (j=0; j<6; j++)
{
for (i=0; i<36 ; i++)
{
poss[k][1]=j;
k++;
}
}
}
}
k=0;
i=0;
j=0;
m=0;
while (k<1296)
{
for (j=0; j<6; j++)
{
for (i=0; i<6; i++)
{
poss[k][2]=j;
k++;
}
}
}
k=0;
i=0;
j=0;
m=0;
while (k<1296)
{
for (i=0; i<6; i++)
{
poss[k][3]=i;
k++;
}
}
}
Просто чтобы понять, пользователь вводит номер и на основе таблицы, это даст это результат. (Таблица дает 1296 возможностей) пример: 1245 // от пользователя 1354 = 1 B 2 C // (из таблицы) – user3117119
@userXXX Вы ищете функцию 'strcmp()'? –
да, но я хочу, чтобы это сравнение со всеми результатами у меня есть – user3117119