• У меня есть матрица. По определенному закону я должен переназначить значения элементов между собой. Допустим у меня есть х=1 и у=2, как мне «поменять» у них значения между собой?
    Вот кусок кода допустим, в котором я не уверен
    for i=1 to n do
    if x[i] Begin
    x[i]:=y[i];
    y[i]:=x[i];
    end;
    Получу ли я ожидаемый результат?

Ответы 2

  • В плюсах логичнее использовать функцию std::swap из библиотеки , чтобы не реализовывать свой алгоритм обмена. Вообще, это функция в этом языке перегружена под множество классов(Например, тот же basic_string - привычный нам string). Поэтому, если пользуешься C++, советую использовать.
    • Автор:

      baby0bfx
    • 5 лет назад
    • 0
  • Не получишь. Во-первых, не знаю, законно или нет, но у тебя нет логического выражения в условной конструкции(if).

    Во-вторых, опять же, не знаю, если ли в твоем языке функция swap(), которое меняет содержимое, но я бы сделал так:

    temp := x[i]; //объяви сначала дополнительную переменную

    x[i] = y[i];

    y[i] = temp;

    Ибо, если судить по твоему коду, ты присваиваешь переменной X значение переменной Y(получается, что теперь X = Y), а затем присваиваешь переменной Y значение переменной X(хотя они уже равны).

    • Автор:

      lilibeth
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years