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

Разница между 0 и 00 ? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
27.01.2012, 23:01     Разница между 0 и 00 ? #1
Как заставить программу различать 0 и 00 (ноль и два ноля, как в рулетке)? Вариант с заменой 00 на какое-то число не подходит, так как мне всё равно нужно будет выводить на форму потом 00, а обратная конвертация - это опять лишний код...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 23:01     Разница между 0 и 00 ?
Посмотрите здесь:

Разница между i++ и ++i.Си C++
В чем разница между С и С++ C++
вчем разница между с++ и ++с C++
C++ Разница между != и <=
Разница между программами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
27.01.2012, 23:13     Разница между 0 и 00 ? #2
пойдёт?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
        char num[2];
 
        std::cin >> num;
 
        std::cout << num << std::endl;
 
        return 0;
}
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
27.01.2012, 23:13     Разница между 0 и 00 ? #3
если 0 и 00 это строки то

C++
1
2
3
4
5
6
7
8
9
int main()
{
char* tmp = "0";
bool comp = false;
comp =  !strcmp("0",tmp);
comp = !strcmp("00",tmp);
 
return 0;
}
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.01.2012, 23:14     Разница между 0 и 00 ? #4
Цитата Сообщение от disker Посмотреть сообщение
Как заставить программу различать 0 и 00
Сделать это массивами
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
27.01.2012, 23:31  [ТС]     Разница между 0 и 00 ? #5
спасибо всем за ответы, но вряд ли разберусь , так как не совсем корректно поставил вопрос. В общем у меня идет загрузка из файла в таком виде :

C++
1
2
3
4
int a[600];
  fstream f("data.dat", ios::in);
  for(int i = 0; i <= 599; i++) 
  f >> a[i];
куда и что мне нужно написать, чтобы в массив вносился 0 и 00 отдельными значениями как a[1], a[2] и т.д. ?
Просто я потом пытаюсь эти 600 чисел вывести на форму и вместо 00 в label получаю 0

Добавлено через 2 минуты
R136a1 с char я изначально и делал массив, но получаю какую-то белеберду после вывода на label. Абсолютно другие числа получаются, чем вводятся

к примеру вместо 1 12 24 0 26

я получаю 49 49 50 50 52
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
27.01.2012, 23:39     Разница между 0 и 00 ? #6
Цитата Сообщение от disker Посмотреть сообщение
R136a1 с char я изначально и делал массив, но получаю какую-то белеберду после вывода на label. Абсолютно другие числа получаются, чем вводятся
к примеру вместо 1 12 24 0 26
я получаю 49 49 50 50 52
если не ошибаюсь, то это коды ASCII. Если так, их нужно явно в char преобразовать
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
27.01.2012, 23:42  [ТС]     Разница между 0 и 00 ? #7
R136a1 а как это сделать чтоб записать потом в label ? Я просто новичек в С++ и не знаю... но немного странно, что к примеру первые 2 числа одинаковые, хотя в первой строке видно что они разные...

вывод у меня так осуществляется :

C++
1
 label1->Text = Convert::ToString(a[0]);
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
27.01.2012, 23:49     Разница между 0 и 00 ? #8
Цитата Сообщение от disker Посмотреть сообщение
R136a1 а как это сделать чтоб записать потом в label ? Я просто новичек в С++ и не знаю... но немного странно, что к примеру первые 2 числа одинаковые, хотя в первой строке видно что они разные...

вывод у меня так осуществляется :

C++
1
 label1->Text = Convert::ToString(a[0]);
так попробуйте
C++
1
label1->Text = Convert::ToString((char)a[0])
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
27.01.2012, 23:55     Разница между 0 и 00 ? #9
а почему бы эти числа сразу не считывать как строки(слова)? тем более все равно выводить их как текст
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:00  [ТС]     Разница между 0 и 00 ? #10
Цитата Сообщение от R136a1 Посмотреть сообщение
label1->Text = Convert::ToString((char)a[0])
нет, результат не поменялся

Цитата Сообщение от retmas Посмотреть сообщение
а почему бы эти числа сразу не считывать как строки(слова)? тем более все равно выводить их как текст
да, такой вариант мне тоже бы подошел... а как мне это организовать ?
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
28.01.2012, 00:02     Разница между 0 и 00 ? #11
считывайте в массив(вектор) строк и выводите куда надо
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:08  [ТС]     Разница между 0 и 00 ? #12
Цитата Сообщение от retmas Посмотреть сообщение
считывайте в массив(вектор) строк и выводите куда надо
нет, такой вариант мне не подойдет. Если бы у меня в строке было только одно число, то тогда да, согласен. А у меня в строке их 25 и в дальнейшем мне нужно будет каждое число сравнивать на то равно оно другому числу или не равно, поэтому я думаю что так не подходит..
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
28.01.2012, 00:19     Разница между 0 и 00 ? #13
так не строку целиком считывайте, а "словами"

Добавлено через 43 секунды
например, так
C++
1
2
3
4
5
    vector<string> vs;
    ifstream ifs("data.dat");
    istream_iterator<string> eos;
    istream_iterator<string> iit (ifs);
    copy(iit, eos, back_inserter(vs));
и если у вас в файле, например, 1 2 23 0 3 00 -1, то и массив строк будет "1" "2" "23" "0" "3" "00" "-1"
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:25  [ТС]     Разница между 0 и 00 ? #14
В смысле так ?

C++
1
2
3
4
5
6
7
8
9
10
char a[600];
  
    vector<string> vs;
    ifstream ifs("data.dat");
    istream_iterator<string> eos;
    istream_iterator<string> iit (ifs);
    copy(iit, eos, back_inserter(vs));
 
  for(int i = 0; i <= 599; i++) 
  f >> a[i];
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
28.01.2012, 00:27     Разница между 0 и 00 ? #15
здесь ваш массив а и цикл уже не нужны. vs - вектор строк(слов), который и используйте для вывода
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:37  [ТС]     Разница между 0 и 00 ? #16
retmas понятно, но проблема в том, что мне в дальнейшем нужно будет задать каждому числу так сказать его порядковый номер для вычислений, поэтому мне похоже так не подойдет ... именно поэтому я и добавлял числа в массив...
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
28.01.2012, 00:44     Разница между 0 и 00 ? #17
скажите полностью задание. а то так никто и не поймет, что в итоге вам нужно будет

Добавлено через 3 минуты
и чем вам индекс строки в массиве не сойдет за нумерацию?
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:51  [ТС]     Разница между 0 и 00 ? #18
Есть файл с рандомным набором чисел ( (600 чисел от 0 до 36 и 00) 25 строк по 24 числа в строке) Мне нужно занести их в массив для дальнейшего их анализа. К примеру сколько раз в файле повторяется каждое число. Ну и там ещё другие анализы, но это очень долго рассказывать и я думаю, что этих данных достаточно чтобы последующий анализ тоже был возможен. Дальше я уже и сам разберусь

Добавлено через 1 минуту
Цитата Сообщение от retmas Посмотреть сообщение
и чем вам индекс строки в массиве не сойдет за нумерацию?
я так и хочу делать, но Вы же говорите , что массив мой не нужен
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
28.01.2012, 00:55     Разница между 0 и 00 ? #19
ну тогда считывайте не в vector<string>, а, например, в vector<pair<string, int> >(вместо vector может быть list, смотря какие задачи еще будут), где для каждого слова подсчитывается количество повторов. строки ведь сравнивать умеем?

Добавлено через 1 минуту
Цитата Сообщение от disker Посмотреть сообщение
я так и хочу делать, но Вы же говорите , что массив мой не нужен
я там про индекс вектора говорил. vs[i], как-то так..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2012, 00:59     Разница между 0 и 00 ?
Еще ссылки по теме:

C++ Разница между С и С++
C++ В чем разница между X x; и X x()?
C++ В чем разница между [] и * ?

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

Или воспользуйтесь поиском по форуму:
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
28.01.2012, 00:59  [ТС]     Разница между 0 и 00 ? #20
Цитата Сообщение от retmas Посмотреть сообщение
строки ведь сравнивать умеем?
к сожалению я новичёк и боюсь что даже и не дойду до сравнения, а Вы мне рассказываете про
list<pair<string, int> >
и т.д.

да и я бы хотел в первую очередь понять почему происходит такая ошибка когда я заношу в массив char числа как символьные, а на выходе получаю совсем другие результаты .. ведь не должно же быть так ..
Yandex
Объявления
28.01.2012, 00:59     Разница между 0 и 00 ?
Ответ Создать тему
Опции темы

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