Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2014, 20:56   #1
Time1
 
Регистрация: 22.06.2014
Сообщений: 5
По умолчанию Массив в функцию

Добрый день.

Подскажите что тут не так.
Ввожу в массив "1234", передаю в функцию.

Код:
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
 
void function(char* array)
{
	int i;
	for (i = strlen(array) - 1; i >= 0; --i)
	{
		cout << array[i] << " " << pow(2, i) << endl;
		cout << array[i] * pow(2, i) << endl;
	}
 
}
int main() {
 
	char array[80];
	cin >> array;
 
	function(array);
 
	return 0;
}
Выдаст:

Код:
4 8
416
3 4
204
2 2
100
1 1
49
Тоесть, array[3] == 4, pow(2, 3) == 8, a
array[3] * pow(2,3) == 416, а не 32.

Не могу понять в чем проблема.
Time1 вне форума Ответить с цитированием
Старый 15.07.2014, 21:18   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Вы умножаете символ на число.

Live hack:
Код:
int number = array[i] - '0';
cout << pow(2, i) << "*" << number  << endl;
cout << pow(2, i) * number << endl;
либо
Код:
int number = static_cast<int>(array[i]) - 48;
cout << pow(2, i) << "*" << number  << endl;
cout << pow(2, i) * number << endl;

Последний раз редактировалось ATL; 15.07.2014 в 22:31.
ATL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как переделать массив в функцию? aRTes_MX Общие вопросы C/C++ 0 19.12.2012 00:50
Массив в функцию Artem_Kokos Общие вопросы C/C++ 40 05.04.2012 21:40
Передача указателей на массив в функцию. nibir Общие вопросы C/C++ 14 06.07.2011 13:24
Массив используя функцию и процедуру. Profan4ik Помощь студентам 1 30.05.2010 14:06
Передача указателя на массив в функцию loser Общие вопросы C/C++ 2 19.02.2010 19:41