Member NFOC Ответов: 2

Я пытался заставить этот алгоритм работать на C++, но не получаю никакого правильного решения.


 the pseudocode of insertion into an Array List. Recall that we assume that all elements in the array must be contiguous. Also, note that the pseudocode uses 0-based indexing.

insert(element, index): // inserts element into array and returns True on success (or False on failure)
    // perform the required safety checks before insertion
    if index < 0 or index > n:   // invalid indices
        return False

    if n == array.length:        // if array is full
        newArray = empty array of length 2*array.length
        for i from 0 to n-1:     // copy all elements of old array to new array
            newArray[i] = array[i]
        array = newArray         // replace old array with new array

    // perform the insertion algorithm
    if index == n:               // insertion at end of array
        array[index] = element   // perform insertion

    else:                        // general insertion
        for i from n-1 to index: // make space for the new element (if insertion not at the end)
            array[i+1] = array[i]
        array[index] = element   // perform insertion

    n = n+1                      // increment number of elements
    return True


Что я уже пробовал:

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

phil.o

Первым делом нужно было бы воспользоваться кнопкой "улучшить вопрос" и квалифицировать ответ. Что я уже пробовал: раздел с кодом, который вы написали до сих пор. Описание ошибок, которые вы получаете, тоже было бы хорошей идеей.

2 Ответов

Рейтинг:
1

KarstenK

Если вы хотите писать код на C++, вам нужно изучить синтаксис. Первичный много скобок отсутствует, и использование ":" совершенно неправильно.

Вам нужно учиться у некоторых Учебник по C++ чтобы использовать этот язык. Установите Visual Studio и покопайтесь в некоторых примерах кода. ;-)


Рейтинг:
0

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!
Если вы получаете "ошибки после ошибок" с кодом, который вы написали для этого, то покажите нам точно, что вы пробовали, расскажите нам, что это за ошибки, скопируйте и вставьте любые сообщения и объясните, что вы пробовали, чтобы исправить их.

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!