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

маленькая маленькая консультация, не сложная работа - C++

Восстановить пароль Регистрация
 
nikolazzzed
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 32
27.11.2013, 21:23     маленькая маленькая консультация, не сложная работа #1
почему эта прога не компилируется?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream.h>
#include<string.h>
#include<math.h>
int main()
{
string z="1011";
int znum=0;
for(int i=z.length()-1; i>=0; i--)
{
if(z[i]=='1') znum+=pow(2, z.length()-i-1);
}
cout«znum«endl;
system("pause");
return 0;
}

------------------------------------

почему она не правильно работает? например у 1 файле ввожу 12345 должна изменить у другому файле на 54321, НО этого не происходит, помогите кому не сложно, буду очень благодарен


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
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
    ifstream inputFile ("d:\\input.txt");
    ofstream outputFile ("d:\\output.txt");
    vector<int> nums;
    int num;
    while (inputFile)
    {
        inputFile>>num;
        nums.push_back(num);
        if (inputFile.eof()) break;
    }
    while (nums.size()>0)
    {
        outputFile<<nums.back()<<endl;
        nums.pop_back();
    }
    cout<<"Complete! Check output.txt for results"<<endl;
    system("pause");
    inputFile.close();
    outputFile.close();
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 21:23     маленькая маленькая консультация, не сложная работа
Посмотрите здесь:

C++ Маленькая буква x
маленькая прожка с ошибкой C++
C++ Ошибочка маленькая и не понятная(((
маленькая ошибка в программе C++
Маленькая задачка. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
27.11.2013, 22:19     маленькая маленькая консультация, не сложная работа #2
Цитата Сообщение от nikolazzzed Посмотреть сообщение
почему эта прога не компилируется?
В самом начале программы не хватает этой строчки
C++
1
using namespace std;
cosmic
33 / 31 / 0
Регистрация: 29.08.2012
Сообщений: 84
Записей в блоге: 1
28.11.2013, 03:43     маленькая маленькая консультация, не сложная работа #3
C++
1
cout«znum«endl;
символ после сouta это вставилось так ? или там реально кавычки?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
28.11.2013, 08:42     маленькая маленькая консультация, не сложная работа #4
Цитата Сообщение от LuxArt Посмотреть сообщение
В самом начале программы не хватает этой строчки
Цитата Сообщение от nikolazzzed Посмотреть сообщение
C++
1
#include<iostream.h>


Цитата Сообщение от nikolazzzed Посмотреть сообщение
почему эта прога не компилируется?
да кто ж её разберет то? Ошибки в студию
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.11.2013, 10:35     маленькая маленькая консультация, не сложная работа #5
C++
1
znum+=pow(2.0, z.length()-i-1);
Liden
17 / 17 / 2
Регистрация: 19.11.2013
Сообщений: 83
28.11.2013, 14:30     маленькая маленькая консультация, не сложная работа #6
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
znum+=pow(2.0, z.length()-i-1);
Несоотвествие типов. Сам сталкивался с этой проблемой. alsav22, а подскажите, пожалуйста, как функцию pow преобразовать к int? Пытался вот так: (int)pow(2.0, z.length()-i-1), но все равно ошибка.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
28.11.2013, 14:35     маленькая маленькая консультация, не сложная работа #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от cosmic Посмотреть сообщение
cout«znum«endl;
Как? КАК?! Объясните мне, как это попадает в код? Который раз уже вижу, но никто не признается.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.11.2013, 14:42     маленькая маленькая консультация, не сложная работа #8
Liden, ошибка из-за второго параметра, его нужно привести к int. Но возможна потеря данных, при приведении результата работы функции к int, поэтому znum нужно объявлять как double или float.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
28.11.2013, 14:54     маленькая маленькая консультация, не сложная работа #9
Вообще-то степень двойки надо считать с помощью оператора сдвига, а не использовать функцию pow. Забывать про свойства сдвига - нубство!
Liden
17 / 17 / 2
Регистрация: 19.11.2013
Сообщений: 83
28.11.2013, 14:57     маленькая маленькая консультация, не сложная работа #10
alsav22, то есть принимающая переменная всегда должна быть float или double?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 15:27     маленькая маленькая консультация, не сложная работа
Еще ссылки по теме:

C++ Маленькая доработка программы
Маленькая ошибка C++
Маленькая конструкции с if else C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.11.2013, 15:27     маленькая маленькая консультация, не сложная работа #11
Цитата Сообщение от Liden Посмотреть сообщение
то есть принимающая переменная всегда должна быть float или double?
...
http://www.cplusplus.com/reference/cmath/pow/?kw=pow
Yandex
Объявления
28.11.2013, 15:27     маленькая маленькая консультация, не сложная работа
Ответ Создать тему
Опции темы

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