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

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

Восстановить пароль Регистрация
 
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
10.05.2009, 16:23     Поменять элементы каждого числа массива слева направо #1
компилятор сильно ругается - его не устраивает запись maina и в ф-и preobr косяки находит
помогите кто чем может


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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//main.cpp
#include <iostream>
using namespace std;
#include "myVector.h"
int main ()
{    vec MyVector;    
    MyVector.resize( colvo() );        
    vvod(MyVector);            
    preobr(MyVector);        
    outputResult(MyVector);        
return 0;    
}
//myVectoor.h
# ifndef myVector_h
# define myVector_h
#include <vector>                
typedef std::vector<int> vec;    
int colvo();                    
void vvod (vec &MyVector, int size);        
int preobr (vec &MyVector, int size);    
void outputResult (vec &MyVector,int size);    
# endif
 
//progr.cpp
#include <iostream>
using namespace std;
#include "myVector.h"
#include <string> 
#include <cstdlib>
int colvo ()
{    int size;
    cout<<"Введите количество элементов массива"<<endl;
    cin>>size;
    return size;
}
void (vec &MyVector, int size)
{    cout << "Введите элементы массива" << endl;
    for (int i=0; i<size; ++i)
        cin >> MyVector[i];
    return;
}
int preobr (vec &MyVector, int size)
{
int X;
std::string Str1, Str2;
 
for (int J = 0; J < i; J++)
  {
  X = MyVector[J];
 
  Str1 =itoa(X); 
  Str2 = "";
 
  for (int I = str1.length(); I > 0; I--) 
    {
    Str2 = Str2 + Str1[i];
    }
 
  X = atoi(Str2.c_str());
  }
}
void outputResult (vec &MyVector, int size)
{    cout<<"Новый массив:"<<endl;
    for (int i=size-1; i>=0; --i)
        cout<<MyVector[i]<<endl;    
    return;
}
 
void outputResult (vec &MyVector, int size)
{    cout<<"Новый массив:"<<endl;
    for (int i=size-1; i>=0; --i)
        cout<<MyVector[i]<<endl;    
    return;
 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2009, 16:23     Поменять элементы каждого числа массива слева направо
Посмотрите здесь:

C++ поменять элементы каждого числа массива слева направо
C++ Двумерный массив заполняется слева направо и сверху вниз
Выполнить циклический сдвиг двумерного массива по горизонтали слева направо C++
Как создать двоичное дерево, элементы которого заполняются по слоям слева направо? C++
Слова читающиеся одинаково слева направо C++
Отсортировать по убыванию элементы массива слева от случайного числа, и справа - по возрастанию. C++
Определение цифры слева направо C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.05.2009, 16:33     Поменять элементы каждого числа массива слева направо #2
Какие ошибки компилятор выдает?
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
10.05.2009, 16:43  [ТС]     Поменять элементы каждого числа массива слева направо #3
для KDevelop
в maine : vec MyVector;
MyVector.resize( colvo() );
vvod(MyVector);
preobr(MyVector);
outputResult(MyVector);
и в preobr : X = atoi(Str2.c_str()); for (int I = str1.length(); I > 0; I--) X = MyVector[J];

Str1 =itoa(X);
постоянно пишет что эти ф-и не инциализированы
много раз всё меняла но все равно не получается
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
10.05.2009, 16:46     Поменять элементы каждого числа массива слева направо #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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//main.cpp
#include <iostream>
#include <vector>    
#include <algorithm>
using namespace std;
 
typedef std::vector<int> vec;   
 
int colvo();                    
void vvod (vec &MyVector, int size);        
int preobr (vec &MyVector, int size);    
void outputResult (vec &MyVector,int size); 
 
int main ()
{   
    setlocale(0,"RUS");
    vec MyVector;    
    MyVector.resize( colvo() );        
    vvod(MyVector,static_cast<int>(MyVector.size()));            
    preobr(MyVector,static_cast<int>(MyVector.size()));        
    outputResult(MyVector,static_cast<int>(MyVector.size()));        
    return 0;    
}
 
   
 
int colvo ()
{   
    int size;
    cout<<"Введите количество элементов массива"<<endl;
    cin>>size;
    return size;
}
void vvod(vec &MyVector, int size)
{    
    cout << "Введите элементы массива" << endl;
    for (int i=0; i<size; ++i)
        cin >> MyVector[i];
    //return;
}
int preobr (vec &MyVector, int size)
{
    int x;
    std::string Str1/*, Str2*/;
    char buff[17];
    for (int i = 0; i < /*i*/ size; i++)
    {
        x = MyVector[i];
 
        Str1 = itoa(x,buff,10); 
        reverse(Str1.begin(),Str1.end());
        x = atoi(Str1.c_str());
        MyVector[i] = x;
    }
 
    return 0;
}
void outputResult (vec &MyVector, int size)
{   
    cout<<"Новый массив:"<<endl;
/*  for (int i=size - 1; i >= 0; --i)
        cout<<MyVector[i]<<endl; */   
 
    copy(MyVector.begin(),MyVector.end(),ostream_iterator<int>(cout," "));
    //return;
}
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
10.05.2009, 19:03  [ТС]     Поменять элементы каждого числа массива слева направо #5
спасибо большое
только можно парочка вопросов
здесь надо это подключать:
Код
#include <string> 
#include <cstdlib> а что нибудь ещё надо
и как это работает
 setlocale(0,"RUS");
static_cast<int>
сhar buff[17];-почему 17?
 Str1 = itoa(x,buff,10); - почему 10
 copy(MyVector.begin(),MyVector.end(),ostream_iterator<int>(cout," "));
i < /*i*/ size    std::string Str1/*, Str2*/;     i < /*i*/ size; - зачем //?
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
10.05.2009, 19:22     Поменять элементы каждого числа массива слева направо #6
setlocale(0,"RUS"); - чтобы русский текст нормально отображался.
static_cast<int> - приведение типа.
сhar buff[17];-почему 17? чтобы мало не казалось.
Str1 = itoa(x,buff,10); - почему 10 - для десятичного представления.
copy(MyVector.begin(),MyVector.end(),ostream_iterator<int>(cout," ")); - копируем елементы вектора в поток cout
i < /*i*/ size std::string Str1/*, Str2*/; i < /*i*/ size; - зачем //? - размер вектора.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2009, 16:19     Поменять элементы каждого числа массива слева направо
Еще ссылки по теме:

C++ Сортировка двумерного массива. Строки сортируются слева направо, а столбцы сверху вниз
C++ Передвижение элементов двумерного массива слева направо
Скопировать все элементы массива с четным индексом, слева от которых элементы с нечетным значением C++
Вывести элементы массива, которые читаются слева направо и справа налево одинаково C++
Отсортировать элементы массива, находящиеся слева от заданного числа по убыванию, а справа по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
21.05.2009, 16:19  [ТС]     Поменять элементы каждого числа массива слева направо #7
у меня reserve и itoa не работает
Как изменить?
Yandex
Объявления
21.05.2009, 16:19     Поменять элементы каждого числа массива слева направо
Ответ Создать тему
Опции темы

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