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

Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразование матрицы симплекс метод http://www.cyberforum.ru/cpp-beginners/thread969044.html
Приветствую всех) Очень нуждаюсь в вашей помощи. Взялся за реализацию симплекс-метода, но столкнулся с такой проблемой. К примеру дана матрица -4 -2 3 -4 -1 -2 2 -2 1 1 3 -3 -1 -4 4 3 2 ...
C++ Динамическое размещение объекта в определённом месте памяти с последующим её освобождением Доброго времени суток. В C++ имеется возможность размещать объект по чётко определённому, указанному разработчиком, адресу в памяти. В свете этого у меня возник вопрос об освобождении памяти,... http://www.cyberforum.ru/cpp-beginners/thread969039.html
C++ Написать процедуру удаления из заданного списка, все вхождения элемента с заданным значением
Написать программу, процедуру удаления из заданного списка, все вхождения элемента с заданным значением.
C++ Дано массивы. Посортировать их указанным в соответствии с вариантом методами
Даны два одномерные массивы А (a , , ..., a ) и B (b , b , ..., b ) размеры которых равны n и m соответственно. Посортировать их указанным в соответствии с вариантом методами. Упорядоченные массивы...
C++ Даны сведения о высоте над уровнем моря 8 горных вершин http://www.cyberforum.ru/cpp-beginners/thread969023.html
1) Даны сведения о высоте над уровнем моря 8 горных вершин. Все значения выражены в метрах. Распечатать названия вершин, высота которых превышает 3000 м над уровнем моря. Помогите, хоть чуточку!!!...
C++ Как получить число в текстовом десятичном виде (!) в кодировке ASCII? ответ к задаче мне надо представить в файле .txt. Ответ должен представлять не отрицательное число в текстовом десятичном виде в кодировке ASCII.Суть самой задачи не важна. в файл output.txt... подробнее

Показать сообщение отдельно
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
05.10.2013, 15:31
Вот, например. Функция получает массив, индекс нужного элемента и размер всего массива; после производится сдвиг влево до тех пор пока нужный нам элемент не окажется в конце массива. Можно улучшить алгоритм, если написать еще функцию для сдвига вправо. И если индекс элемента меньше половины размера массива применять сдвиг влево, а если болше - то сдвиг вправо.



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
#include <conio.h>
using namespace std;
 
 
void Move_To_The_End(float arr[], int index,int size)
{
    if(index!=size-1)
    {   
        while(index!=(-1))
        {
            float tmp=arr[0];
            for(int i=0;i<size-1;++i)
            {
                arr[i]=arr[i+1];
 
            }
            arr[size-1]=tmp;
            --index;
        }
    }
}
    int main ()
    {    
 
    float arr[]={23,54,1,55,8,3,5,-1,8,5,4445,91};
    int size=sizeof(arr)/sizeof(float);
    Move_To_The_End(arr,11,size);
    for(int i=0;i<size;++i) cout<<arr[i]<<", ";
 
  getch();
  return 0;
   
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru