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

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

Войти
Регистрация
Восстановить пароль
 
Laptev Alex
9 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 34
#1

Вывод массива на экран - C++

14.09.2013, 17:39. Просмотров 467. Ответов 9
Метки нет (Все метки)

Нужна помощь, нужно написать программу, в которую вводят число в десятичной системе, и программа преобразует его в двоичную форму, т.е. число делится на 2 и остаток должен записываться в массив, после этот массив нужно вывести. Код написал, но при выводе массива на экран, он состоит из рандомных чисел!!!

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
#include <iostream>
using namespace std;
void dvoich(int a)
{ int i,n;
  int m = 10;
  int *Array = new int[m];
  for(int i=0;i<m;i++)
  {
      int k; 
      Array[i]=[k];
  }
for (i=0; a>0 ;i++)
{
    n=a%2;
    cout<<n<<endl;
    Array[i]=n;
    a=a/2;
}
cout<< "Массив"<< Array[m]<<endl;
}
int main()
{
    setlocale(0, "");
    int a;
    cout << "Введите число: ";
    cin >> a;
    dvoich(a);
    
}
Добавлено через 41 минуту
нужно чтобы массив вывел все элементы в строку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 17:39     Вывод массива на экран
Посмотрите здесь:

Вывод массива на экран - C++
Вывод массива на экран. # include &lt;iostream.h&gt; //подключение библиотеки void main (){ //главная функция программы int mas...

Вывод массива из файла на экран - C++
С помощью какой команды лучше вывести массив из файла? вот код: int ConsiderTheValue(int* Array, int N) { FILE* f =...

Реализовать вывод массива на экран - C++
Помогите доработать программу. Мне нужно, чтобы все значения выводились на экран. int C(int n, int k) { int B; // Создаем...

Вывод двумерного массива на экран - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; using namespace std; const...

Вывод двухмерного массива на экран - C++
Есть двумерный массив,я провел операции над ним(отсортировал по убыванию и переставил местами первое и последнее число) и теперь нужно...

Вывод на экран массива объектов - C++
Здравствуйте! Помогите, пожалуйста, в решении проблемы. Суть в том, что не получается вывести на экран массив объектов. Я понимаю, что в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikitasuper
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 11
14.09.2013, 17:43     Вывод массива на экран #2
ну незнаю попробуй deluxpf
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.09.2013, 17:43     Вывод массива на экран #3
Laptev Alex, а для чего нужен первый цикл??
и в конце ты выводишь не весь массив, а только m-й, то есть последний, чтобы весь массив вывести надо тоже в цикле поэлементно выводить
Laptev Alex
9 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 34
14.09.2013, 18:08  [ТС]     Вывод массива на экран #4
drdrink,Да, первый цикл не нужен. Если я буду выводить циклом, элементы будут друг над другом, а нужно в строку!

Добавлено через 2 минуты
nikitasuper, что за deluxpf?
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.09.2013, 18:16     Вывод массива на экран #5
Laptev Alex, в смысле друг над другом?? так что ли?
1
0
0
1
1

а тебе надо 10011? или я тебя не так понял?
Laptev Alex
9 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 34
14.09.2013, 18:26  [ТС]     Вывод массива на экран #6
drdrink,Да, именно так. Например: вводим число 12, программа делит 12 на 2 (пока не дойдет до единицы), получая остатки от деления и записывая их в массив. На деле получается:
0
0
1
1
А нужно чтобы вывел 1100
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.09.2013, 18:28     Вывод массива на экран #7
Laptev Alex, ну вот написал работает правильно, только без оформления функции, думаю сам сделаешь=)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    int a = 12, i = 0, m = 10;
    int *Ar = new int[m];
 
    for(; a > 0; i++)
    {
        Ar[i] = a%2;
        a /= 2;
    }
 
    for(int j = i-1; j >= 0; j--)
        cout << Ar[j];
    cout << "\n";
    return 0;
}
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,729
14.09.2013, 18:35     Вывод массива на экран #8
Laptev Alex,
ну ты и накрутил
вот твоя функция для вывода 32 разрядов (столько в int)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void dvoich(unsigned int a)
{ 
  int Array[32];
  for(int i=0;i<32;i++)
  {
       Array[i]=0;
  }
for (i=31; a>0 ;i--)
{
    n=a%2;
    Array[]=n;
    a=a/2;
}
 for(int i=0;i<32;i++)
  {
      cout<< Array[i];
  }
cout<<endl;
}
учти это не самый оптимальный вариант

вот то же самое
C++
1
2
3
4
5
6
7
8
void dvoich(unsigned int a)
{ 
  for(int i=31;i>=0;i--)
  {
        cout<< a&(0x1<<i);
  }
cout<<endl;
}
Добавлено через 1 минуту
Цитата Сообщение от Laptev Alex Посмотреть сообщение
На деле получается:
а кто перевод строки включил после каждой цифры?
Цитата Сообщение от Laptev Alex Посмотреть сообщение
cout<<n<<endl;
Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
вот то же самое
пардон наврал
мусору будет много
вот так правильней
C++
1
2
3
4
5
6
7
8
9
10
11
void dvoich(unsigned int a)
{ 
for(int i=31;i>=0;i--)
{
 if(a&(0x1<<i))
   cout<< "1";
  else
     cout<< "0";
}
cout<<endl;
}
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
14.09.2013, 18:36     Вывод массива на экран #9
Laptev Alex, да кстати как ValeryS написал последний вариант , он намного лучше будет, чем такое дело, лучше сразу проверять с помощью маски ноль там или один, чем делить постоянно=))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2013, 18:37     Вывод массива на экран
Еще ссылки по теме:

Вывод строкового массива на экран - C++
Доброго времени суток Такая проблема,я хочу вывести какой-то результат , например &quot;Hello&quot;,но пишет мусор,просто я не совсем понимаю,как...

Вывод на экран элементов массива - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;ctype.h&gt; #include...

Вывод на экран одинаковых чисел массива - C++
В общем задание в том, что бы я записывал числа в массив с клавиатуры, пока не будет введен ноль, потом выдавал массив на экран, потом...

Чтение символьного массива из файла и вывод на экран - C++
Задание было: прочитать из файла символьный массив и обработать его. Т.к. нам чтение из файла пока не давали, пришлось искать самому. ...


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

Или воспользуйтесь поиском по форуму:
Laptev Alex
9 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 34
14.09.2013, 18:37  [ТС]     Вывод массива на экран #10
ValeryS,drdrink, Спасибо!
ValeryS, Это чисто для проверки
Yandex
Объявления
14.09.2013, 18:37     Вывод массива на экран
Ответ Создать тему
Опции темы

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