Нужно написать программу посимвольного сравнения первых половин двух введенных строк.
Не могу придумать как описать половины строк.
#include
#include
#include
#include
#include
#define SIZE 100
int main()
{
char str1[SIZE];
char str2[SIZE];
int word;
int g,k,s;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "RUS ");
puts("введите первую строку:");
gets(str1);
puts("введите второю строку:");
gets(str2);
puts("\n");
k = strlen(str1) / 2; //часть в которой я пытаюсь описать половины строк
s = strlen(str2) / 2;
g = (k + s) / 4;
word = strcmp(str1, str2,g);
if (word > 0)
{
puts("строки не равны \n");
}
else if (word < 0)
{
puts("строки не равны\n");
}
else
{
puts("строки равны\n");
}
system("pause");
return(0);
}
Ответы
Ответ дал:
1
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int n;
cin >> n;
char* string1 = new char[n];
char* string2 = new char[n];
cin >> string1;
cin >> string2;
bool check = true;
if (strlen(string1) != strlen(string2))
cout << "Неверное количество символов";
else
{
for (size_t i = 0; i < round(strlen(string1) / 2); i++) {
if (string1[i] != string2[i]) {
check = false;
}
}
if (check)
cout << "Первые половины равны";
else
cout << "Половины первые не равны";
}
}
Вас заинтересует
4 месяца назад
4 месяца назад
5 месяцев назад
2 года назад
2 года назад
7 лет назад