Ошибка при переводе десятичного числа в двоичное - 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.
- В конце программы добавляем точку с запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д