0

This is what I have to code.
Input an array of numbers(any numbers that user inputs from standard input, aka keyboard), remove numbers from array that are not 0 and 1. Thay array should now be bitwise moved with << or >> (again user choses the number of spaces moved and a type of move). After all of that turn that array into a binary number. Max number of elements is defined as a header with #define max_num_el 255.

I have issues with part of code that need me to move elements of array and turning an array into binary number.

3
Contributors
4
Replies
35
Views
3 Years
Discussion Span
Last Post by Stefan_2
0

use temporary variable for moving the items and for binary conversion ,you can easily write code ..

0
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define max_br_el 255

void main (){
    int p,k,j,n,i,temp,r;
    unsigned long a[max_br_el], b[max_br_el];
    while(1){
        printf("\nEnter number of array elements (between 1 i 255)\n");
        scanf("%d", &n);
        if(n>0 && n<=max_br_el){
            for(i=0 ; i<n ; i++){
                printf("Enter %d. elements of array\n", i);
                scanf("%d.", &a[i]);
            }
            /* Removing nums not 0 and 1 */
            for(i=0 , k=0  ; i<n ; i++){
                if(a[i] == 0 || a[i] == 1){
                    a[k] = a[i];
                    k++;
                }
            }
            n=k;
            for(k=0 ; k<n ; k++){
                printf("%d\t" , a[k]);
            }
            /* My try on moving elements manualy (it has to be done with                  << and >> but I don't know how. Whenever I try to use << and                  >> I get element_of_array*2^n (where and n is number of                      spaces that needs to be moved. */
            printf("\n");
            printf("\nEnter for how many spaces you want to move\n");
            scanf("%d", &p);
            for(r=0 ; r<n; r++){
                b[r] = a[k-p];

            }
            printf("\n");
            for(r=0 ; r<n ; r++){
                printf("%d" , b[r]);
            }
        }
        else{
            exit(1);
        }
    }
}

/* This is code so far. I still don't have part about binary conversion made, because I have bigger issues with << and >>. Here I tryed implementing manual moving of elements of array but it didn't work. Thanks for help. */

0

I'll show the code tonight, and making this question to solved.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.