Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массивы, поменять элементы каждого числа массива 
:(
    Опции темы
elenSV
  Дата 26.4.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



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

#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)
{ cout << "Введите элементы массива" << endl;
for (int i=0; i<size; ++i)
cin >> MyVector[i];
return;
}
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 main ()
{
vec MyVector;
int i = colvo();
vvod(MyVector, i);
preobr(MyVector, i);
outputResult(MyVector, i);

return 0;
}


У меня никак не получается заменить все числа на такие числа, которые получаются из исходного записью его цифр в обратном порядке 

Здесь надо использовать что то вроде этого:
int X = 1234567890;

AnsiString Str1 = IntToStr(X); //вот тут преобразовываем число в строку
AnsiString Str2 = "";

for (int I = Str1.Length(); I > 0; I--) //выворачиваем строку наизнанку
{
Str2 = Str2 + Str1[i];
}
 smile 
X = StrToInt(Str2); //обратно строку - в число
если да то как
      

Это сообщение отредактировал(а) elenSV - 1.5.2009, 10:41
PM MAIL   Вверх
Zakary
Дата 26.4.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

Код

int main()
{
  vector<int> v;
  unsigned int i;

  for(i=0; i<10; i++) v.push_back(i);

  cout << "Initial: ";
  for(i=0; i<v.size(); i++) cout << v[i] << " ";
  cout << endl;

  reverse(v.begin(), v.end());

  cout << "Reversed: ";
  for(i=0; i<v.size(); i++) cout << v[i] << " ";

  return 0;
}


может подойдет?

Это сообщение отредактировал(а) Zakary - 26.4.2009, 22:50
PM MAIL   Вверх
Dov
Дата 26.4.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



ребятки, у вас кнопка КОД не фурычит?


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
elenSV
Дата 26.4.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



 smile 
блин а можно это записать с использованием ф-ий:
int colvo () 
void vvod
 void outputResult
А то я боюсь с нашим преподом это не проканает
 smile 
PM MAIL   Вверх
elenSV
  Дата 1.5.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



проверьте пожлста - правильно али что?
Код

#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;
AnsiString Str1, Str2;


for (int J = 0; J < i; J++)
  {
  X = MyVector[J];

  Str1 = IntToStr(X); 
  Str2 = "";

  for (int I = Str1.Length(); I > 0; I--) 
    {
    Str2 = Str2 + Str1[I];
    }

  MyVector[J] = StrToInt(Str2);
  }
}

int main ()
{
vec MyVector;
int i = colvo();
vvod(MyVector, i);
preobr(MyVector, i);
outputResult(MyVector, i);

return 0;
}



PM MAIL   Вверх
zim22
Дата 1.5.2009, 12:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(elenSV @  1.5.2009,  10:43 Найти цитируемый пост)
проверьте пожлста - правильно али что?

проверять преподаватель будет.
у вас есть конкретные вопросы?...


--------------------
PM MAIL   Вверх
elenSV
Дата 8.5.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



Код

int X;
AnsiString Str1, Str2;


for (int J = 0; J < i; J++)
  {
  X = MyVector[J];

  Str1 = IntToStr(X); 
  Str2 = "";

  for (int I = Str1.Length(); I > 0; I--) 
    {
    Str2 = Str2 + Str1[I];
    }

  MyVector[J] = StrToInt(Str2);
  }

отказывается компилировать
какие здесь директивы ещё подключать smile 
PM MAIL   Вверх
zim22
Дата 9.5.2009, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(elenSV @  8.5.2009,  21:47 Найти цитируемый пост)
отказывается компилироватькакие здесь директивы ещё подключать 

в какой среде разработки вы пытаетесь компилировать? ключевые слова IntToStr и AnsiString принадлежат к Borland C++ Builder. Значит или используйте его или найдите аналоги в стандартной поставке С++ 

AnsiString - std::string из <string> 
IntToStr - atoi из <cstdlib>
Str1.Length() - str1.length();


--------------------
PM MAIL   Вверх
elenSV
  Дата 9.5.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



я компилирую на Kdevelop

у меня получилось что то вроде этого
Код

int X;
std::string Str1, Str2;

for (int J = 0; J < i; J++)
  {
  X = MyVector[J];

  Str1 =atoi(X); 
  Str2 = "";

  for (int I = str1.length(); I > 0; I--) 
    {
    Str2 = Str2 + Str1[I];
    }

  MyVector[J] = itoa(Str2);
  }


но тоже не оч компилируется - а в maine всё правильно записано?

PM MAIL   Вверх
zim22
Дата 9.5.2009, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



>IntToStr - atoi из <cstdlib>
я перепутал. вам нужно из int получить string. нужна itoa

Цитата(elenSV @  9.5.2009,  09:07 Найти цитируемый пост)
но тоже не оч компилируется

прекратите говорить загадками и выложите ошибки компилятора.
или он так и пишет: "скомпилил, но не оч"?



--------------------
PM MAIL   Вверх
elenSV
Дата 9.5.2009, 09:46 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



не а вообще ф-и atoi и itoa можно так записывать:
Код

 Str1 =atoi(X); 
MyVector[J] = itoa(Str2);

 smile 
PM MAIL   Вверх
math64
Дата 9.5.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72



Нет, вот так
Код

std::string Str1, Str2;
int X;
Str1 =itoa(X); 
X = atoi(Str2.c_str());


Это сообщение отредактировал(а) math64 - 9.5.2009, 13:42
PM   Вверх
elenSV
Дата 9.5.2009, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 26.4.2009

Репутация: -1
Всего: -1



а для ф-и 
int I = str1.length()
надо ещё что подключать?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0850 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.