• Предмет: Информатика
  • Автор: terechenkokirill
  • Вопрос задан 1 год назад

Нужно написать программу посимвольного сравнения первых половин двух введенных строк.
Не могу придумать как описать половины строк.

#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);
}

Ответы

Ответ дал: Koljisto
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 << "Половины первые не равны";

}

}

Вас заинтересует