Ошибка при переводе десятичного числа в двоичное - C (СИ)
Формулировка задачи:
Доброго времени суток, помогите найти ошибку в программе, которая должна переводить десятичные числа в двоичное.
При исполнении абсолютно все числа будут представлены как ноль(00000000).
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main()
- {
- int a,rez, trs, i, j, k, m[8];
- printf("vvedit maksimalne 4islo");
- scanf("%i", &a);
- for(i=0;i<8;i++)
- m[i]=0;
- rez=2;
- for(i=0;i<a;i++)
- {
- printf("%i-------->", i);
- for(j=0;rez>1;j++)
- {
- rez=i/2;
- trs=i-rez;
- m[7-j]=trs;
- }
- for(k=0;k<8;k++)
- printf("%i", m[k]);
- printf("\n");
- }
- }
Решение задачи: «Ошибка при переводе десятичного числа в двоичное»
textual
Листинг программы
- #include <stdio.h>
- dectobin(int number, int massiv[])
- {
- int i;
- for (i=15;i>=0;i--)
- {
- if( (number%2)==1 )
- {
- massiv[i]=1;
- }
- else
- {
- massiv[i]=0;
- }
- number=number/2;
- }
- for (i=0;i<16;i++) //вывод
- {
- if ( (i!=0)&& (i%4)==0 )
- {
- printf(" ");
- }
- printf("%d",massiv[i]);
- }
- }
- main ()
- {
- int mas[16],i,a;
- scanf("%d",&a);
- for(i=0;i<=a;i++)
- {
- printf("%d --> ",i);
- dectobin(i,mas);
- printf("\n");
- }
- }
Объяснение кода листинга программы
- Включаем файл со стандартными функциями для работы с файлами и стандартным вводом/выводом (stdio.h).
- Определяем функцию dectobin, которая принимает два аргумента: целое число и массив.
- Внутри функции объявляем переменную i типа int для цикла.
- Запускаем цикл for от 15 до 0 с шагом -1.
- Внутри цикла проверяем остаток от деления числа на 2 и сохраняем результат в массив.
- После цикла выводим массив с помощью функции printf, добавляя пробел после каждого четвёртого элемента.
- В функции main объявляем массив mas[16], переменные i и a типа int.
- Считываем число с помощью функции scanf в переменную a.
- Запускаем цикл for от 0 до a.
- Внутри цикла выводим число, приглашаем ввести данные и вызываем функцию dectobin.
- В конце цикла добавляем символ новой строки \n.
- В конце программы добавляем точку с запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д