1

Тема: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Як рядок вивести посимвольно; потім посимвольно з заду на перед; посимвольно, тільки не виводячи голосні. Ще потім, посимвольно, але не виводячи букви з першої половини абетки?

2

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Вам потрібно встановити Node.js і модуль left-pad.

3

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

var слово = 'задачка';

console.log('рядок вивести посимвольно');

for(var i = 0; слово.length > i; i++)
{
  console.log('літера:', слово[i]);
}

console.log('посимвольно з заду на перед');

for(var i = 0; слово.length >= i; i++)
{
  console.log('літера:', слово[ слово.length - i ]);
}

console.log('посимвольно, тільки не виводячи голосні');

var голосні = ['і', 'и', 'е', 'у', 'о', 'а'];

for(var i = 0; слово.length > i; i++)
{
  if( голосні.indexOf(слово[i]) === -1)
    console.log('літера:', слово[i]);
}

console.log('посимвольно, але не виводячи букви з першої половини абетки');

var першіЛітериАбетки = ['а', 'б', 'в', 'г', 'д', 'е', 'ж'];

for(var i = 0; слово.length > i; i++)
{
  if( першіЛітериАбетки.indexOf(слово[i]) === -1)
    console.log('літера:', слово[i]);
}

P.S. Сподіваюсь це не ваше тестове завдання на якусь вакансію.

Подякували: Wsewlad, Monolith, 221VOLT3

4

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

В попередньому варіанті можна спростити ще - замість масиву зробити рядки:

var голосні = 'іиеуоа';
var першіЛітериАбетки = 'абвгдеж';
Подякували: Wsewlad, 221VOLT2

5

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Дякую!
P.S. Ні, це не тестове завдання на вакансію, а завдання по навчанню.)))

Подякували: 221VOLT1

6

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

ktretyak написав:

...

Ай-яй-яй пане ktretyak, не можна давати відповіді на питання в яких не показана власна спроба користувача:)

Подякували: ktretyak, 221VOLT, koala, Сергій784

7

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Так, ви праві =). Я спочатку зробив, а потім отямився що я наробив, і зразу почав каятись.

Подякували: Yola, 221VOLT2

8

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

ktretyak написав:
for(var i = 0; слово.length > i; i++)
{
  if( першіЛітериАбетки.indexOf(слово[i]) === -1)
    console.log('літера:', слово[i]);
}

А швидкодія, якось не дуже:( Адже першіЛітериАбетки відсортовані, ба більше, всі послідовні.

9

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Запропонуйте кращий варіант.

10

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Припускаю, що складність indexOf становить O(n).
Якщо масив відсортований, то варто використати якусь функцію, яка вміє робити двійковий пошук це буде O(lg n).
Але якщо масив не має пропусків, то результат можна отримати за O(1), залишаю це вам :)

Подякували: 221VOLT1

11 Востаннє редагувалося Wsewlad (28.03.2016 16:00:37)

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

var str = "Converts Unicode values to characters";
var res = "";
for (var i = 0; i < str.length; i++){
     res += str[i] + "<br>";
     document.getElementById("demo").innerHTML = res;
}

Як рядок вивести посимвольно з заду на перед?
Тільки не так.

for (var i = 1; i <= str.length; i++){
     res += str[str.length - i] + "<br>";
     document.getElementById("demo1").innerHTML = res;
}

12

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Так наприклад

str = "привіт";
document.write(str.split('').reverse().join(''));

Або так

for(i=str.length-1; i>=0; --i)
document.write(str[i]);
Подякували: Wsewlad1

13

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Wsewlad написав:
var str = "Converts Unicode values to characters";
var res = "";
for (var i = 0; i < str.length; i++){
     res += str[i] + "<br>";
     document.getElementById("demo").innerHTML = res;
}

Як рядок вивести посимвольно з заду на перед?
Тільки не так.

for (var i = 1; i <= str.length; i++){
     res += str[str.length - i] + "<br>";
     document.getElementById("demo1").innerHTML = res;
}

Ні, ні, ні, друже! На цей раз давайте по іншому. Я як програвший три попередні гри вигравший щойно гру в шахи, не маю вже бажання от так от "на дурнячок" викладати готову відповідь, закінчилась азартна енергія покищо.

На цей раз давайте розкажіть що вам не підходить, і що ви думаєте з приводу вирішення цієї вкрай непростої ситуації.

14

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Я просто не до кінця усвідомив суть завдання від наставника) Тож звернувся до вас)

15

Re: Як рядок вивести посимвольно, потім посимвольно з заду на перед...

Wsewlad написав:

Я просто не до кінця усвідомив суть завдання від наставника) Тож звернувся до вас)

Давайте переходити на новий рівень спілкування - так буде легше, в першу чергу, вам самому. Щоб отримати якісну відповідь на питання по коду, необхідно вказати:
- завдання ("Як рядок вивести посимвольно з заду на перед? Тільки не так." - не завдання, бо заміна імені змінної res на res1, очевидно, задовільняє умові "не так", але так само очевидно, що не задовільнить вас і вашого... як ви сказали - наставника? Ну нехай).
- код, який ви вже написали (тут форум програмістів; якщо ви не пишете код - ви не програміст і робити тут вам нема чого);
- опис проблеми, з якою ви зіткнулися ("не так" і "не працює" - не опис проблеми, треба вказувати конкретні претензії до того, що робить код, як мінімум - "я очікував А, а виходить Б").
З імовірністю 80%, якщо ви всього цього не вкажете, вам не допоможуть; так само з імовірністю 80% ви самі зрозумієте, в чому була проблема, доки писатимете питання в такій формі, бо просто зумієте побачити проблему збоку.

Подякували: Wsewlad, leofun012