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

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

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

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

10.05.2009, 16:23. Просмотров 571. Ответов 6
Метки нет (Все метки)

компилятор сильно ругается - его не устраивает запись 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;
 
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2009, 16:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять элементы каждого числа массива слева направо (C++):

поменять элементы каждого числа массива слева направо - C++
нужно изменить эту задачу-&quot;поменять элементы массива слева направо&quot;: #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; ...

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

6
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
10.05.2009, 16:33 #2
Какие ошибки компилятор выдает?
0
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);
постоянно пишет что эти ф-и не инциализированы
много раз всё меняла но все равно не получается
0
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 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;
}
0
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; - зачем //?
0
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 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; - зачем //? - размер вектора.
0
LenaSV
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
21.05.2009, 16:19  [ТС] #7
у меня reserve и itoa не работает
Как изменить?
0
21.05.2009, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2009, 16:19
Привет! Вот еще темы с ответами:

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


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

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

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