Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 1
Регистрация: 20.05.2011
Сообщений: 29

Циклический сдвиг массива влево

06.10.2011, 18:32. Показов 4075. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив y1, ... , y20.
Сформировать массив Z1, ... , Z20, элементы которого соответствуют элементам yi , сдвинутым на одну позицию влево, т.е.
Z1 = y2 ; Z2 = y3 ; ... ; Z19 = y20 ; Z20 = y1. Умножить все элементы Zi на 2.


Использовать вывод из файла и указатели

Добавлено через 12 минут
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <conio.h>
#include <iomanip>
#define n 20
using namespace std;
 
 
 
void main()
    
{                                           //const int n=5;
    int x;
    setlocale(LC_ALL,"Russian");    
    do 
    { 
        cout<<"Введите Размер Массива У от 0 до 20"<<endl;     
        cin>>x;
    }
            
    while((x<0)||(x>=n));
    
    int y[n]; 
    cout<<" Массив У:"<<endl;
    for (int i=0; i<x; i++)
    { cout<<" Y ["<<i<<"]";
    cin>>y[i];                              
    }
    cout <<" Массив Y Индексы:"<<" ";   
    for (int i=0; i<x; i++)
{
    cout<<setfill(' ')<<setw(2)<<i<<" ";
}
cout <<endl<<" Массив Y Элементы:";
for (int i=0; i<x; i++){
cout<<setfill(' ')<<setw(2)<<y[i]<<" ";
}
    int z[n];
    for (int i=0, j = i + 1; i<x; i++,j++){
    if (j>=x)
        j=0;
    z[i]=y[j];
    z[i]=z[i]*2;
    }                               
cout<<endl<<" Массив Z Индексы: "<<" "; 
for (int i=0; i<x; i++)
{
cout<<setfill(' ')<<setw(2)<<i<<" ";
}
cout<<endl;
cout<<" Массив Z Элементы:"<<" ";
for ( int i=0; i<x; i++)
{
cout<<setfill(' ')<<setw(2)<<z[i]<<" ";
}
 
cout<<endl<<" Нажмите любую клавишу для выхода "<<endl;
    _getch();
}
Добавлено через 30 секунд
это я решил без файла и указателя, как их использовать народ

 Комментарий модератора 
Используйте теги форматирования кода.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2011, 18:32
Ответы с готовыми решениями:

Циклический сдвиг массива влево
условие: задан массив целочисленный состоящий из 10 элементов нужно сделать циклический сдвиг влево так чтобы первый максимум стал на...

Циклический сдвиг массива влево и вправо
Нужно реализовать циклический сдвиг массива влево и вправо! Например есть массив int- {121605}? mass_len=6, нужно чтобы после сдвига...

Циклический сдвиг элементов массива влево
Совершить циклический сдвиг элементов массива влево так, чтобы первый максимальный элемент был на K-месте ( K- вводиться с клавиатуры)

6
20 / 20 / 4
Регистрация: 06.10.2011
Сообщений: 53
06.10.2011, 18:50
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
#include <iostream>
using namespace std;
 
int main() {
        const int size=20;
        int arrY[size];
        int arrZ[size];
 
        // Заполняем массив Y
        for(int i=0; i<size; i++) {
                arrY[i]=i+1;
                cout<<arrY[i]<<endl;
        }
        // Заполняем массив Z элементами массива Y, сдвинутыми на 1 влево и добавляем 2 к каждому элементу
        for(int i=1; i<size; i++)
                arrZ[i-1]=arrY[i]+2;
        arrZ[size-1]=arrY[0]+2;
        // Выводим массив Z
        for(int i=0; i<size; i++)
                cout<<arrZ[i]<<endl;
 
        return 0;
 
}
0
0 / 0 / 1
Регистрация: 20.05.2011
Сообщений: 29
06.10.2011, 19:01  [ТС]
а где файл и указатель?

Добавлено через 5 минут
Липпмана прочитал раздел о ФАЙЛАХ все равно не чо не выяснил толкового
0
20 / 20 / 4
Регистрация: 06.10.2011
Сообщений: 53
06.10.2011, 19:12
Цитата Сообщение от BoMa Посмотреть сообщение
а где файл и указатель?

Добавлено через 5 минут
Липпмана прочитал раздел о ФАЙЛАХ все равно не чо не выяснил толкового
Извиняюсь. Невнимательно сообщение прочитал

Вот тоже самое с чтением из файла и использованием указателей:

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
36
37
38
39
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main() {
        const int size=20;
        int arrY[size];
        int arrZ[size];
 
        ifstream ifs("input.txt");
        int i=0;
 
        // Заполняем массив из файла
        while(i < size) {
                if(ifs)
                        ifs >> arrY[i];
                else
                        arrY[i]=0;
                i++;
        }
        ifs.close();
 
        // Заполняем массив Z элементами массива Y, сдвинутыми на 1 влево, и добавляем 2 к каждому элементу
        int *pY = arrY+1;
        int *pZ = arrZ;
        i=1;
        while(i < size) {
                *pZ++=(*pY++)+2;
                i++;
        }
        *pZ=*arrY+2;
 
        // Выводим массив Z
        for(int i=0; i<size; i++)
                cout<<arrZ[i]<<endl;
 
        return 0;
}
Добавлено через 2 минуты
В текстовом файле каждый элемент массива (число) располагается на новой строчке
1
0 / 0 / 1
Регистрация: 20.05.2011
Сообщений: 29
06.10.2011, 19:16  [ТС]
а сам текстовый файл создать в том же каталоге где и программа?
0
20 / 20 / 4
Регистрация: 06.10.2011
Сообщений: 53
06.10.2011, 19:18
Цитата Сообщение от BoMa Посмотреть сообщение
а сам текстовый файл создать в том же каталоге где и программа?
Да, и назвать input.txt. Если создавать в другом каталоге, то нужно прописывать полный путь к нему.
1
0 / 0 / 1
Регистрация: 20.05.2011
Сообщений: 29
06.10.2011, 19:23  [ТС]
спасибо большее ....все запустилось ща токо исправлю + на * и все круто спасибос)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2011, 19:23
Помогаю со студенческими работами здесь

Функция: циклический сдвиг элементов массива влево
нужен код программы, которая сдвигает элементы массива на 1 влево, тоесть было 1 5 6 8 9, стало 5 6 8 9 1 ... через функцию(в main только...

Циклический сдвиг элементов массива влево на одну позицию
Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом AN перейдет в AN-1, AN-1 - в AN-2, .,...

Циклический сдвиг элементов массива по диагонали влево вниз
Квадратный массив N×N по диагонали влево вверх. //--------------------------------------------------------------------------- ...

Осуществить циклический сдвиг элементов массива влево на k позиций
Дан массив размера N и число k (0 &lt; k &lt; 5, k &lt; N). Осуществить циклический сдвиг элементов массива влево на k позиций. Гуглю весь день,...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru