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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Richie_Bolat
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 12
#1

Одномерный массив. Осуществить сдвиг вправо на k позиций - C++

13.03.2014, 19:20. Просмотров 1449. Ответов 21
Метки нет (Все метки)

Здравствуйте, помогите, пожалуйста с лабораторкой) Все никак не получается..
Вот задача Дан массив A[N].
Заполнить массив В[N] элементами массива A[N],
которые удовлетворяют двойному неравенству:
A[1] < A[i] или A[i] < A[10].
Осуществить сдвиг вправо на k позиций,
где k - число оставшихся элементов массива A[N].


Вот, начал решать. Так, для начала я просто вывел 2 массива а[n] и b[n],

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
//Дан массив A[N]. 
///Заполнить массив В[N] элементами массива A[N], 
///которые удовлетворяют двойному неравенству: 
   // A[1] < A[i] или A[i]  < A[10]. 
  //  Осуществить сдвиг вправо на k позиций, 
//где k - число оставшихся элементов массива A[N].
 
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define n 10
int main()
{
    
int a[n],b[n],i,j, k;
 
void randomize();
printf("Massiv A\n");
for (i=0;i<n;i++)
 {
 a[i]=rand()%10-5;
 printf("%d ",a[i]);
 }
printf("\n");
 
 
printf("Massiv B\n");
for (j=0;j<n;j++)
 {
 b[j]=rand()%10-5;
 printf("%d ",b[j]);
 }
printf("\n");
 
 
k=0;
 
getch();
system("PAUSE");
return 0;
}
0
Миниатюры
Одномерный массив. Осуществить сдвиг вправо на k позиций  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2014, 19:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив. Осуществить сдвиг вправо на k позиций (C++):

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента. - C++
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента - C++
Помогите пожалуйста решить эту задачу, Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций,...

Осуществить сдвиг элементов массива вправо на k позиций - C++
Всем привет , помогите пожалуйста решить эту задачу на языке Си 9. Дан целочисленный массив размера N. Осуществить сдвиг вправо на k...

Осуществить циклический сдвиг массива вправо на m позиций - C++
Разработать алгоритм и программу. Дан одномерный массив С размерностью 1хn (1&lt;=n&lt;=20). Элементы массива принимают значения от 0 до 255 и...

Осуществить циклический сдвиг элементов массива вправо на k позиций - C++
Решаю задачи на сервере одном, задание было &quot;Дан массив размера N ≥ 2 и число k (0 &lt; k &lt; N). Осуществить циклический сдвиг элементов...

Осуществить циклический сдвиг n-разрядного двоичного представления заданного числа k на m позиций вправо - C++
Задание: Осуществить циклический сдвиг n-разрядного двоичного представления заданного числа k на m позиций вправо, не находя цифр самого...

21
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 13:14 #16
Цитата Сообщение от taras atavin Посмотреть сообщение
Читай:
Читал. Затереть то, что до этого не инициализировалось - странная формулировка. ТС, по видимому, так заполнял массив по аналогии с первым, чтобы выводить хоть какие-то адекватные значения и предполагал, что эту строку и нужно переделать в заполнение по 2-му неравенству.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
до этого "затирания" массив не инициализировался.
Ключевое слово здесь "ДО"
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
14.03.2014, 13:16 #17
Цитата Сообщение от Retyrn0 Посмотреть сообщение
не инициализировалось
Ну ка объясни, что делает третья строчка в
C++
1
2
3
4
5
for (j=0;j<n;j++)
 {
  b[j]=rand()%10-5;
  printf("%d ",b[j]);
 }
.
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 13:20 #18
Цитата Сообщение от taras atavin Посмотреть сообщение
что делает третья строчка в
Вы слово "ДО" прочитали, нет? Затирание - это когда какие-то результаты вычислений изменяются. Здесь нечего менять - это инициализация, пусть и не соответствующая задаче, но никак не затирание!
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
14.03.2014, 13:26 #19
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Вы слово "ДО" прочитали, нет?
Он и
C++
1
2
3
4
5
for (j=0;j<n;j++)
 {
  b[j]=rand()%10-5;
  printf("%d ",b[j]);
 }
написал, и заполнить тот же массив элементами a[] ему тоже сказано. Что нибудь неизбежно будет до.
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 13:38 #20
Цитата Сообщение от taras atavin Посмотреть сообщение
Что нибудь неизбежно будет до.
Будет - не будет - время покажет, а на тот момент затирания не было. Я полагаю, что этот цикл планировалось переделать под условное заполнение 2-го массива, а не оставлять его после правильной инициализации. КОгда человек учится, ему нужно видеть что происходит, чтобы понять - вероятно ТС и инициализировал рандомно 2-й массив, чтобы не было непонятных значений и планировал ПЕРЕДЕЛАТЬ этот цикл.
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
14.03.2014, 13:42 #21
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Будет - не будет - время покажет, а на тот момент затирания не было.
Задача была поставлена, там чётко было сказано, чем надо заполнить массив.
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 13:53 #22
Цитата Сообщение от Richie_Bolat Посмотреть сообщение
Вот, начал решать. Так, для начала я просто вывел 2 массива а[n] и b[n],
Цитата Сообщение от Richie_Bolat Посмотреть сообщение
потом я решил второй массив заполнить элементами по условию
и вот что вышло
Во втором коде видно, что ТС ПЕРЕДЕЛАЛ цикл под условия, хотя и не правильно, но он не оставил "цикл затирания", а значит я прав и ТС действительно в первом варианте кода использовал тот цикл исключительно для наглядности. Мы обсуждаем единственное слово "затирание", которое в первом коде было скорее "инициализацией", хотя и не соответствующей условию, а во втором было переделано под задачу, хотя и не правильно. Тем не менее ни в том ни в другом случае именно "затирания" не происходило, разве не так?

Добавлено через 2 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Задача была поставлена
Я так понимаю, что человек только начал изучать программирование и попросил помощи. Написал то, что сам уже реализовал. Проблемы нужно решать по мере поступления. Сначала ТС вывел оба массива, инициализировав их рандомно, потом 2-й цикл инициализации переделал в сторону условий и хотя получилось не верно, но ход мысли вполне правильный.
0
14.03.2014, 13:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 13:53
Привет! Вот еще темы с ответами:

Массивы. Вначале заполнить элементами с четными индексами, а затем — с нечетными. Осуществить сдвиг вправо на k позиций - C++
При выполнении задания элементы массива генерировать с помощью генератора случайных чисел. 1. Дан массив A. Заполнить массив В...

Одномерный массив, Сдвинуть элементы массива циклически на 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,...

Одномерный массив. Циклический сдвиг вправо - C++
Дан массив A размера N и целое число K (1 ≤ K ≤ 4, K &lt; N). Осущест- вить циклический сдвиг элементов массива вправо на K позиций (при...

Дан массив.Все положительные элементы уменьшить на количество отрицательных элементов. Осуществить сдвиг вправо - C++
Помогите доделать задачу на С++ 1.Дан массив A. Все положительные элементы уменьшить на количество отрицательных элементов. Осуществить...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

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