#include <stdio.h>
#include<math.h>
int binary_to_decimal(int n){
int ostatok, i=0, pom, decimal=0;
pom=n;
while(pom)
{
ostatok=pom%10;
decimal+=ostatok*pow(2,i);
pom/=10;
i++;
}
return decimal;
}
int main()
{
int m, n, i, max=0, number;
scanf(" %d %d", &n, &m);
int array[n];
for(i=0; i<n ;i++){
scanf(" %d", &number);
binary_to_decimal(number);
if(number>m) // this if statement doesn't seem to be doing it's job
array[i]=number;
if(array[i]>max)
max=array[i];
}
for(i=0; i<n ;i++)
{
printf(" %d %d\n", array[i], binary_to_decimal(array[i]));
}
printf("Max %d %d", max, binary_to_decimal(max));
return 0;
}
Программа: вы вводите два значения int
, m
и n
.m
используется в качестве значения для сравнения, а n
- это число двоичного числа, которое пользователь вводит в цикл.Если введенное число больше, чем число m
, распечатайте значения введенного числа в двоичном, а затем в десятичном виде.В конце выведите число с наибольшим значением в двоичном и десятичном виде.Моя проблема - if
, где я сравниваю m
и введенное число, и я не могу найти проблему.