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

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

Войти
Регистрация
Восстановить пароль
 
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
#1

поменять элементы каждого числа массива слева направо - C++

26.04.2009, 15:05. Просмотров 1001. Ответов 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
typedef vector<int> vec;
 
int colvo ()
{
    int size = 0;
    cout << "Введите количество элементов массива" << endl;
    cin >> size;
    return size;
}
void vvod(vec &MyVector, int size)
{
    int val = 0;
    cout << "Введите элементы массива" << endl;
    for(int i = 0; i < size; i++)
    {
        cin >> val;
        MyVector.push_back(val);
    }
}
 
 
void outputResult(const vec &MyVector, int size)
{
    cout << "Новый массив:" << endl;
    for (int i = 0; i < size; i++)
        cout << MyVector[i] << endl;
}
 
void preobr(vec &MyVector, int size)
{
    int n = 0, m = size-1;
    while(n < m) swap(MyVector[n++], MyVector[m--]);
}
 
int main ()
{
    vec MyVector;
    int i = colvo();
    vvod(MyVector, i);
    preobr(MyVector, i);
    outputResult(MyVector, i);
 
    return 0;
}
так чтобы в массиве каждое число получалось из исходного записью его цифр в обратном порядке
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2009, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос поменять элементы каждого числа массива слева направо (C++):

Поменять элементы каждого числа массива слева направо - C++
компилятор сильно ругается - его не устраивает запись maina и в ф-и preobr косяки находит помогите кто чем может //main.cpp ...

Вывести элементы массива, которые читаются слева направо и справа налево одинаково - C++
15.5 Дан массив натуральных чисел A. Все элементы трехзначные. Вывести те элементы, которые читаются слева направо и справа налево...

Передвижение элементов двумерного массива слева направо - C++
Прямоугольный массив N×M по горизонтали слева направо, при этом последний элемент должен стать первым... Помогите! Вот я накатал код,...

Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? - C++
Вот структура: typedef struct tree { int key; struct tree *left; struct tree *right; struct tree *parent;...

Выполнить циклический сдвиг двумерного массива по горизонтали слева направо - C++
Выполинте циклический сдвиг двумерного массива по горизонтали слева направо. Написал ввод и вывод,а вот сдвинуть ни как не получакться. ...

Сортировка двумерного массива. Строки сортируются слева направо, а столбцы сверху вниз - C++
Требуется отсортировать двумерный массив по строкам и по столбцам. Размер массива NxN. Если можно, с комментариями. Строки сортируются...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.04.2009, 15:14 #2
Воспользуйтесь поиском. Я на такой вопрос уже отвечал и пример кода приводил.
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
26.04.2009, 15:16 #3
Тоесть просто нужно вектор развернуть?
0
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.04.2009, 15:21 #4
ISergey, нет. каждое число вектора.

Добавлено через 2 минуты 50 секунд
В принципе, часто тут особо не задаются алгоритмом и переводят число в строку, реверсят и обратно в число
Хотя, ничего сложного нет, делить на 10 и ее степени, потом работать с остатком.
0
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
26.04.2009, 18:13  [ТС] #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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
typedef vector<int> vec;
 
int colvo ()
{
int size = 0;
cout << "Введите количество элементов массива" << endl;
cin >> size;
return size;
}
void vvod(vec &MyVector, int size)
{
int val = 0;
cout << "Введите элементы массива" << endl;
for(int i = 0; i < size; i++)
{
cin >> val;
MyVector.push_back(val);
}
}
 
 
void outputResult(const vec &MyVector, int size)
{
cout << "Новый массив:" << endl;
for (int i = 0; i < size; i++)
cout << MyVector[i] << endl;
}
 
void preobr(vec &MyVector, int i)
{
int X = MyVector[i];
 
AnsiString Str1 = IntToStr(X); 
AnsiString Str2 = "";
 
for (int I = Str1.Length(); I > 0; I--) 
{
Str2 = Str2 + Str1[I];
}
 
MyVector[i] = StrToInt(Str2);
}
 
int main ()
{
vec MyVector;
int i = colvo();
vvod(MyVector, i);
preobr(MyVector, i);
outputResult(MyVector, i);
 
return 0;
}
подправьте пож-ста
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2009, 18:13
Привет! Вот еще темы с ответами:

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

Отсортировать по убыванию элементы массива слева от случайного числа, и справа - по возрастанию. - C++
Дан массив из 20 целых чисел со значениями от 1 до 20. Необходимо: написать функцию, разбрасывающую элементы массива...

Отсортировать элементы массива, находящиеся слева от заданного числа по убыванию, а справа по возрастанию - C++
Есть задание: Дан массив из 20 целых чисел со значениями от 1 до 20. Необходимо: 1. написать функцию, разбрасывающую элементы массива...

Определение цифры слева направо - C++
Помогите написать программу: Есть число n и k&gt;=1 Например n=1895 k=8 cout &lt;&lt; k &lt;&lt; &quot; Третья цифра слева направо &quot; Не понимаю...


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

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

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