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

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

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

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

26.04.2009, 15:05. Просмотров 989. Ответов 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;
}
так чтобы в массиве каждое число получалось из исходного записью его цифр в обратном порядке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2009, 15:05     поменять элементы каждого числа массива слева направо
Посмотрите здесь:

Поменять элементы каждого числа массива слева направо - 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. Если можно, с комментариями. Строки сортируются...

Отсортировать по убыванию элементы массива слева от случайного числа, и справа - по возрастанию. - 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; Не понимаю...

Слова читающиеся одинаково слева направо - C++
В строке S записано несколько слов через 1 или несколько пробелов. Определить количество слов и найти самое длинное слово. Найти все слова,...

Скопировать все элементы массива с четным индексом, слева от которых элементы с нечетным значением - C++
3. Ввести массив А. В массив В скопировать все элементы массива А, имеющие четный индекс, слева от которых расположены элементы...

Двумерный массив заполняется слева направо и сверху вниз - C++
Напишите программу, в которой двумерный массив 5х5 заполняется слева направо и сверху вниз возрастающими нечетными числами от 1 до 49....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.04.2009, 15:14     поменять элементы каждого числа массива слева направо #2
Воспользуйтесь поиском. Я на такой вопрос уже отвечал и пример кода приводил.
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
26.04.2009, 15:16     поменять элементы каждого числа массива слева направо #3
Тоесть просто нужно вектор развернуть?
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.04.2009, 15:21     поменять элементы каждого числа массива слева направо #4
ISergey, нет. каждое число вектора.

Добавлено через 2 минуты 50 секунд
В принципе, часто тут особо не задаются алгоритмом и переводят число в строку, реверсят и обратно в число
Хотя, ничего сложного нет, делить на 10 и ее степени, потом работать с остатком.
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;
}
подправьте пож-ста
Yandex
Объявления
26.04.2009, 18:13     поменять элементы каждого числа массива слева направо
Ответ Создать тему
Опции темы

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