Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Работа с Readline, ввод двух строк и проверка их на соответсвие (https://javascript.ru/forum/node-js-io-js/84174-rabota-s-readline-vvod-dvukh-strok-i-proverka-ikh-na-sootvetsvie.html)

Карина2000 27.06.2022 19:53

Работа с Readline, ввод двух строк и проверка их на соответсвие
 
Помогите пожалуйста разобраться, что я делаю не так((((

Даны две строки, состоящие из строчных латинских букв. Требуется определить, являются ли эти строки анаграммами, т. е. отличаются ли они только порядком следования символов.

Формат ввода
Входной файл содержит две строки строчных латинских символов, каждая не длиннее 100 000 символов. Строки разделяются символом перевода строки.

Формат вывода
Выходной файл должен содержать единицу, если строки являются анаграммами, и ноль в противном случае.

Мой код:
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin
});

let arr = [];

rl.on('line', (line) => {
let arr.push(line)}).on('close',()=>{
let str = arr[0]
let str1 = arr[1]
let str2 = str.split("").sort().join("")
let str3 = str1.split("").sort().join("")

if (str.length != str1.length) { k = 0 }
for (i = 0; i < str.length; i++) {
if (str2[i] == str3[i]) {
k = 1
} else { k = 0 }
}
process.stdout.write(k.toString())
})

рони 27.06.2022 21:34

Карина2000,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

let k = 1;
        if (str.length != str1.length) {
            k = 0
        } else
            for (i = 0; i < str.length; i++) {
                if (str2[i] != str3[i]) {
                    k = 0;
                    break
                }
            };


Часовой пояс GMT +3, время: 04:23.