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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bolbine84455
4 / 4 / 2
Регистрация: 12.03.2014
Сообщений: 321
#1

Сдвинуть элементы одномерного массива вправо на 1 элемент - C++

14.04.2014, 18:38. Просмотров 421. Ответов 5
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
C++ (Qt)
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
 #include <iostream>
 
using namespace std;
int logArr[2][31];
int iLastDay=30, k=1, tmp=0;
int main()
{
 
        for(int j=0; j<iLastDay; j++){
            logArr[0][j]=tmp;
            logArr[1][j]=tmp;
            tmp++;
        }
        for(int j=0; j<iLastDay; j++){
            cout<<logArr[0][j]<<"-"<<logArr[1][j]<<endl;
        }
    cout<<"-----"<<endl;
    tmp=0;
    while(tmp<k){
            for(int j=iLastDay; j>iLastDay; j--){
                logArr[0][j]=logArr[0][j-k];
                logArr[1][j]=logArr[1][j-k];
            }
    tmp++;
    }
        for(int j=0; j<iLastDay; j++){
            cout<<logArr[0][j]<<"-"<<logArr[1][j]<<endl;
        }
    return 0;
}

Вывод тот же самый. Уже не соображаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сдвинуть элементы одномерного массива вправо на 1 элемент (C++):

Элементы одномерного массива из n элементов циклически сдвинуть на к мест вправо - C++
В общем, я сделал это задание, но когда преподаватель проверял, сказал, что я сделал не так как надо...Хотя ведь в моем понимании главное,...

Сдвинуть все элементы одномерного массива начиная с заданного номера к концу на 1 позицию и записать элемент - C++
Как сдвинуть все элементы начиная с заданного номера к концу на 1 позицию и записать элемент. Одномерный массив. Помогите с листингом,...

Сдвинуть элементы массива на k элементов вправо - C++
Дан одномерный массив из 10 элементов. Сдвинуть элементы массива на k элементов вправо, заполняя освободившиеся места выдвинутыми...

Сдвинуть элементы массива циклически на n позиций вправо. - C++
спасибо

Сдвинуть элементы массива вправо циклически на 1 шаг - C++
Задан одномерный массив целых чисел длины n. Сдвинуть элементы массива вправо циклически на 1 шаг. Пример входных данных 4 1 2 3 4 ...

Сдвинуть элементы массива на два разряда вправо - C++
Даны массивы A , B . Получить новые массивы путем сдвига элементов в массивах на два разряда вправо, освободившиеся слева элементы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IrineK
Заблокирован
14.04.2014, 18:55 #2
Вы хотите добиться такого:
1 2 3 4
после сдвига
4 1 2 3
?

Добавлено через 4 минуты
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
#include <iostream>
#include <ctime>
using std::cout;
using std::cin;
 
int main () 
{   setlocale (LC_CTYPE, "Russian");
    int const N = 10;
    int arr[N], i, last;
    srand ((unsigned int) time (NULL));
 
    cout << "\nИсходный массив:\n";
    for (i = 0; i<N; i++)
    {   arr[i] = rand()%9 + 1;
        cout << arr[i] << "  ";
    }
 
    //сдвиг вправо
    last = arr[N-1];
    for (i = N-2; i>-1; i--)
        arr[i+1] = arr[i];
    
    arr[0] = last;
    
    cout << "\nПосле сдвига вправо:\n";
    for (i = 0; i<N; i++)
        cout << arr[i] << "  ";
 
    cin.sync(); cin.get();
    return 0;
}
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
14.04.2014, 18:58 #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
const int n = 10;
    int arr[n];
    for (int i = 1; i <= n; i++)//Заполнение
        arr[i - 1] = i;
    
    for (int i = n - 1; i > 0; i--)//Сдвиг
        swap(arr[i], arr[i-1]);
 
    for (int i = 0; i < n; i++)//Вывод
        cout << arr[i] << " ";
    cout << endl;
Bolbine84455
4 / 4 / 2
Регистрация: 12.03.2014
Сообщений: 321
14.04.2014, 19:45  [ТС] #4
Пример работы:
___ДО: 0 1 2 3 4 5 6
ПОСЛЕ:0 0 1 2 3 4 5
Компилятор жалуется на оба кода:
Кликните здесь для просмотра всего текста
Сдвинуть элементы одномерного массива вправо на 1 элемент

Кликните здесь для просмотра всего текста
Сдвинуть элементы одномерного массива вправо на 1 элемент

Некоторые функции я не понимаю =(
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
14.04.2014, 20:02 #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Bolbine84455 Посмотреть сообщение
Компилятор жалуется на оба кода:
к юзингам добавь using std::swap;
А в первом нужно подключить библиотеку stdlib.h ну и time.h
Цитата Сообщение от Bolbine84455 Посмотреть сообщение
Некоторые функции я не понимаю =(
swap - обменять значениями.
Функция srand() используется для установки начала последовательности, генерируемой функ*цией rand() (функция rand() возвращает псевдослучайные числа).
Bolbine84455
4 / 4 / 2
Регистрация: 12.03.2014
Сообщений: 321
14.04.2014, 21:19  [ТС] #6

Не по теме:

Можете объяснить, почему мой код не работает?



Добавлено через 57 минут

Не по теме:

Нашел ошибку. Знак не тот поставил. Всем спасибо =)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 21:19
Привет! Вот еще темы с ответами:

Одномерный массив, Сдвинуть элементы массива циклически на n позиций вправо - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { int a,...

Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо - C++
помогите исправить..не сдвигает а местами меняет(( Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо. ...

Сдвинуть (циклически) элементы одномерного массива - C++
Привет помогите пожалуйста решить задачу. Сдвинуть (циклически) элементы одномерного массива из n элементов на k мест вправо. Вот мой...

Сдвинуть циклически элементы одномерного массива на k позиций влево - C++
Тема и есть условие задачи... Сам же я застопорился на написании алгоритма сдвига :- #include &lt;iostream.h&gt; #include &lt;math.h&gt; int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2014, 21:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru