Форум программистов, компьютерный форум CyberForum.ru

Что не так в функции? Написать функцию вставки элемента в массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу записи содержимого из одного файла в другой : Тип файла текстовый http://www.cyberforum.ru/cpp-beginners/thread862174.html
#include "StdAfx.h" #include <conio.h> #include <stdlib.h> #include <stdio.h> #include <stdlib.h> int main () { FILE * pFile; long lSize; char * buffer;
C++ Неправильно выполняется формула в цикле #include "stdafx.h" long temp, timer; double T1, T2; double dT1, dT2; float dtime=0.01, a1, a2; int timer0; int _tmain(int argc, _TCHAR* argv) { http://www.cyberforum.ru/cpp-beginners/thread862172.html
Преобразование документа doc) C++
необходимо преобразовать файл формата doc или docx таким образом чтобы при поиске этого документа в инете, ничего подобного не находилось. Пример качаю текст из инета запихиваю в док потом делаю поиск из дока но не нахожу. Было предложение менять похожие буквы русского и английского алфавита например A(eng) и A(рус), но возникает consider revising, кароче текст в ворде подчеркивается красным....
C++ Как объявить массив
Подскажите пожалуйста, как объявить Массив из 100 элементов,расположенных в случайном порядке при этом не вводя их все!
C++ Подкиньте идею:) http://www.cyberforum.ru/cpp-beginners/thread862143.html
В общем хочу написать прогу для того чтобы обмануть систему проверки на плагиат контрольных в формате doc или docx, программа которая проверяет называется "etxt". Я вот думаю может в полях документа как то изменить кодировку или размер .Смысл в том, что контрольная долна также открываться в ворде просматриваться, но сравнение с интернетом давало неверный результат. Смысл в том что я качаю...
C++ cout.setf и cout.precision Здравствуйте. В одной книге увидел строчку кода: cout.precision(2); cout.setf(ios::fixed, ios::floatfield); Объясните, что делают эти операторы вывода и на что влияет значение аргумента 2??? подробнее

Показать сообщение отдельно
Saddiel
 Аватар для Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
12.05.2013, 13:41  [ТС]     Что не так в функции? Написать функцию вставки элемента в массив
Цитата Сообщение от Croessmah Посмотреть сообщение
А теперь попробуйте это проделать на листе бумаги.
C++
1
arr[j+1] = arr[j];
У Вас следующий элемент становиться предыдущим, при этом затирается значение, которое там было до этого.
Поэтому когда переходим к следующему элементу, то предыдущим для него, уже оказывается то самое "клонированное" значение
Ну да, я нашел эту строчку.. Действительно причина тут. Нужно ведь сделать чтобы значения присваивались с конца массива к тому элементу, который мы вставили, чтобы избежать этого самого клонирования? Вот в этом я что то запутался.

Добавлено через 33 минуты
А еще. Как правильно будет arr[index] = elem; или arr[index-1] = elem;? Ведь массив идет с нулевого элемента.. Так вот считать как с нулевого или с первого?

Добавлено через 1 час 49 минут
Что то наколдовал, вышло -

C++
1
2
3
4
5
6
7
8
9
void insert(int* arr, int index, int elem, int n) // где то тут кажется
{
    int j;
    for (j = index; j > n; j--)
    {
      arr[j] = arr[j-1];
    }
    arr[index] = elem;
}  // конец "где то тут"
Теперь элементы не клонируются, но элемент который вставляешь заменяет элемент в массиве, а должен быть сдвиг. Помогите, кто нибудь, а то реально пол дня как дурачек просидел и не в том направлении
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru