Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.07.2019, 13:44   #1
Rudman132
 
Регистрация: 12.07.2019
Сообщений: 3
Вопрос Дан одномерный массив М из 10 элементов. Сдвинуть его элементы на три позиции вправо

Код программы на с++
Дан одномерный массив М из 10 элементов. Сдвинуть его элементы на три позиции вправо.
Под удалением элемента массива следует понимать:
1) исключение этого элемента из массива путем смещения всех следующих за ним элементов влево на 1 позицию;
2) присваивание последнему элементу массива значения 0.
Rudman132 вне форума Ответить с цитированием
Старый 12.07.2019, 13:45   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

И? Какие ошибки выдал компилятор?
p51x вне форума Ответить с цитированием
Старый 12.07.2019, 13:48   #3
Rudman132
 
Регистрация: 12.07.2019
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
И? Какие ошибки выдал компилятор?
Я не пойму как это сделать
Rudman132 вне форума Ответить с цитированием
Старый 12.07.2019, 13:54   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

В цикле. Если не понимаете, возьмите листок и руками подвигайте:
1. Пишите десять элементов а0 а1 а2 ...
2. Пишите словами, что делаете:
а. беру элемент а9 и присваиваю ему значение а6
б. беру элемент а8 и ...
3. Понимаете, что это цикл и переписываете словами:
для индексов с 9 до 3 сделать ...
обнулить первые элементы
4. Пишите код
p51x вне форума Ответить с цитированием
Старый 12.07.2019, 15:10   #5
Rudman132
 
Регистрация: 12.07.2019
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
4. Пишите код
Код:
#include <iostream>
#include <ctime>
using namespace std;
int main(){
	setlocale(LC_ALL, "Rus");
	const int n = 10;
	double M[n];
	int k = 3;
	srand(time(NULL));
	cout << "Массив: ";
	for (int i = 0; i < n; i++)
	{
		M[i] = rand() % 100;
	}
	
	for (int i = 0; i < n; i++)
	{
		cout << M[i] << " ";
	}
	cout << "\nCмещение на три позиции: ";
	for (int i = n - 1; i >= 0; i--)
	{
		if (i >= k) M[i] = M[i - k];
		else M[i] = 0.;
	}

	for (int i = 0; i < n; i++)
		cout << M[i] << " ";
	cout << "\n";

	system("pause");
	return 0;
}
Rudman132 вне форума Ответить с цитированием
Старый 23.07.2019, 20:33   #6
CppLinux345
Пользователь
 
Регистрация: 26.09.2018
Сообщений: 23
По умолчанию

int i = 0;
for (; i < 10; ++i)
m[i] >>= 3;
CppLinux345 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Pascal] Сформировать новый одномерный массив, в котором элементы массива, стоящие на позиции кратной трем, будут заменены средним арифметическим значением этих элементов Dianam Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2016 10:12
Дан одномерный массив из 30 элементов. Сформировать второй массив, в котором сначала идут все элементы первого массива, кратные 5, Olzhakesh C# (си шарп) 1 29.04.2014 23:49
Дан одномерный массив элементов. Необходимо вывести все не повторяющиеся элементы filimoncc Помощь студентам 3 01.03.2014 13:20
Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы... Richik123 Microsoft Office Excel 1 16.10.2013 15:45
1)Дан одномерный массив В,состоящий из 2n элементов.Переставить его элементы по следующему правилу b[1],b[n+1],b[2],b[n+2],.....b[ Vinam* Паскаль, Turbo Pascal, PascalABC.NET 4 24.12.2011 16:39