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

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

Войти
Регистрация
Восстановить пароль
 
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
#1

Есть программа, нужно определить какое задание она выполняет - C++

11.11.2012, 18:06. Просмотров 339. Ответов 2
Метки нет (Все метки)

Ну в общем так: у меня есть 6 готовых программ и список возможных заданий к ним. Преподаватель решил задачи, но не сказал задание, а дал возможные варианты. К первой задачи я нашла, вторая вообще не запустилась (точнее запустилась, но без толку), а вот остальные 4 между собой похожые и я нашла возможных 4 задания. Но вот розобраться какое к какой программе - не могу... ведь задача состоит со старшими и младшими битами... А для меня это тёмный дремучий лес(( И еще сказано что нужно переделать так програмки ети что б не использовать функции %x, %X, printf. Соответсвенно я этого тоже не умею...
Первая программа:
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
30
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{ clrscr();
  int i,x,y,n;
  int ch[16];
  printf("vvedit chyslo :");
  scanf("%d",&x);
   n=x;
   y=0;
   while(x!=0 && y!=sizeof(int)*8)
    {ch[y]=x&1;
     y++;
     x=x>>1;
    }  printf("\n");
   for (i=y-1;i!=-1;i--)
   printf("%d  ",ch[i]);
   y=0;
   while (n!=0 && y!=sizeof(int)*8/4)
   {
     ch[y]=n&15;
     y++;
     n=n>>4;
   }
   printf("\n shist\n ");
   for (i=y-1;i>=0;--i)
   if (ch[i]>9) printf("%c",'A'+ch[i]-10); else printf("%d",ch[i]);
getch();
}
Вторая(из которой ничего толкового не вышло)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
decimal(int x)
 {  int y,i;
    int ch[16];
    y=0;
    while(x!=0 /*&&*/|| y!=sizeof(int)*4)
    {ch[y]=x&1;
     y++;
     x=x>>1;
     }
     /*if (y!=15)
      for (i=y;i!=sizeof(int)*8;i++) ch[i]=0;*/
     printf("\n");
   for (i=sizeof(int)*4-1;i!=-1;i--)
   cprintf("%d  ",ch[i]);
   return 0;
   }
decimal1(int x)
 {  int y,i;
    int ch[16];
    y=0;
    while(x!=0 /*&&*/|| y!=sizeof(int)*8)
    {ch[y]=x&1;
     y++;
     x=x>>1;
     }
     /*if (y!=15)
      for (i=y;i!=sizeof(int)*8;i++) ch[i]=0;*/
     printf("\n");
     textcolor(5);
     cprintf("rezyltat\n");
     textcolor(1);
   for (i=sizeof(int)*8-1;i!=-1;i--)
   { if (i>=8)  cprintf("%d  ",ch[i]); else
     { textcolor(2);
       cprintf("%d  ",ch[i]);}
    }
   return 0;
   }
 void main()
{
  int v;
  unsigned int x1;
  char c1,c2;
  clrscr();
  printf("input  ");
  scanf("%c %c",&c1,&c2);
  x1=0;
  printf("%c",c1);
  textcolor(1);
  decimal(c1);
  printf("\n%c",c2);
  textcolor(2);
  decimal(c2);
  x1=x1|c1;
  x1=x1<<8;
  x1=x1|c2;
  decimal1(x1);
}
Третья:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <conio.h>
#include <math.h>
decimal(int x)
 {  int y,i;
 int ch[16];
   y=0;
   while(x!=0 && y!=sizeof(int)*8)
    {ch[y]=x&1;
     y++;
     x=x>>1;
    }  printf("\n");
   for (i=y-1;i!=-1;i--)
   printf("%d  ",ch[i]);
   return 0;
   }
void main()
{ clrscr();
  int x,n,f,k,p,s,i,x1;
  printf("vvedit chyslo :");
  scanf("%d",&x);
 decimal(x);
 x1=x^1;
 printf("\n ¬®«®¤иЁ© Ўiв зЁб«* - %d\n",x1);
  decimal(x1);
 printf("\n бв*аиЁ© Ўiв зЁб«* ");
 x1=x^(int)pow(2,sizeof(int)*8-1);
 printf("\n %d",x1);          decimal(x1);
 printf("\n input nomer bita");
 printf("\n bit nomeryutsa vid 0 do 15\n");
 scanf(" %d",&n);
 x1=pow(2,n);
 x1=x^x1;
 printf("%d\n",x1);
  decimal(x1);
 printf("\nfrahment\n");
 printf("input nomer bita and dovgina \n");
 scanf("%d",&p);
 scanf("%d",&s);
 
 for (i=s+p-1;i!=p-1;i--)
  {x1=pow(2,i);
 x=x^x1;
    }
 printf("%d\n",x);
 decimal(x);
 }
Четвёртая:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <conio.h>
#include <math.h>
decimal(int x)
 {  int y,i;
 int ch[16];
   y=0;
   while(x!=0 && y!=sizeof(int)*8)
    {ch[y]=x&1;
     y++;
     x=x>>1;
    }  printf("\n");
   for (i=y-1;i!=-1;i--)
   printf("%d  ",ch[i]);
   return 0;
   }
void main()
{ clrscr();
  int x,n,f,k,p,s,i,x1;
  printf("vvedit chyslo :");
  scanf("%d",&x);
 decimal(x);
 x1=x|1;
 printf("\n ¬®«®¤иЁ© Ўiв зЁб«* - %d\n",x1);
  decimal(x1);
 printf("\n бв*аиЁ© Ўiв зЁб«* ");
 if (x>0) {x1=x|(int)pow(2,sizeof(int)*8-1);
 printf("\n %d",x1);}
    else
    { printf("\n%d",x);
    decimal(x); }
 printf("\n input nomer bita");
 printf("\n bit nomeryutsa vid 0 do 15\n");
 scanf(" %d",&n);
 x1=pow(2,n);
 x1=x|x1;
 printf("%d\n",x1);
  decimal(x1);
 printf("\nfrahment\n");
 printf("input nomer bita and dovgina \n");
 scanf("%d",&p);
 scanf("%d",&s);
 
 for (i=s+p-1;i!=p-1;i--)
  {x1=pow(2,i);
 x=x|x1;
    }
 printf("%d\n",x);
 decimal(x);
 }
Пятая:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <conio.h>
#include <math.h>
decimal(int x)
 {  int y,i;
 int ch[16];
   y=0;
   while(x!=0 && y!=sizeof(int)*8)
    {ch[y]=x&1;
     y++;
     x=x>>1;
    }  printf("\n");
   for (i=y-1;i!=-1;i--)
   printf("%d  ",ch[i]);
   return 0;
   }
void main()
{ clrscr();
  int x,n,f,k,p,s,i,x1;
  printf("vvedit chyslo :");
  scanf("%d",&x);
  decimal(x);
  /*decimal((int)pow(2,sizeof(int)*8-1));
 x1=(int)pow(2,sizeof(int)*8-1)-1;
 printf("\n бв*аиЁ© Ўiв зЁб«* %d\n ",x1);
 decimal(x1);*/
 x1=x&((int)pow(2,sizeof(int)*8)-2);
 printf("\n ¬®«®¤иЁ© Ўiв зЁб«* %d\n",x1);
 decimal(x1);
 printf("\n бв*аиЁ© Ўiв зЁб«* \n ");
 if (x<0) {x1=x&((int)pow(2,sizeof(int)*8-1)-1);
 printf(" %d\n",x1);
  decimal(x1); }
    else
   { printf("%d",x);
    decimal(x); }
 printf("\n input nomer bita");
 printf("\n bit nomeryutsa vid 0 do 15\n");
 scanf(" %d",&n);
 x1=(int)pow(2,sizeof(int)*8)-1-pow(2,n);
 x1=x&x1;
 printf("%d\n",x1);
  decimal(x1);
 printf("\nfrahment\n");
 printf("input nomer bita and dovgina \n");
 scanf("%d",&p);
 scanf("%d",&s);
 
 for (i=s+p-1;i!=p-1;i--)
 {x1=(int)pow(2,sizeof(int)*8)-1-pow(2,i);
   x=x&x1; }
 printf("%d\n",x);
 decimal(x);
 }
И наконец шестая:
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
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <conio.h>
#include <math.h>
decimal(int v)
 {  int x;
    x=v%2;
    v=v/2;
if(v>0)
decimal(v);
printf("%d",x);
 return x;
   }
void main()
{ clrscr();
  int x,n,f,k,p,s,i;
  printf("vvedit chyslo :");
  scanf("%d",&x);
 decimal(x);
 printf("\n");
 printf("¬®«®¤иЁ© Ўiв зЁб«* %d\n",x&1);
 printf("бв*аиЁ© Ўiв зЁб«* ");
 if (x&(int)pow(2,sizeof(int)*8-1)) printf("1\n"); else printf("0\n");
 printf("input nomer bita\n");
 printf("bit nomeryutsa vid 0 do 15\n");
 scanf("%d",&n);
 if (n!=15) { f=pow(2,n); k=x&f; printf(" %d\n",k>>n);}
 
   else
      if (x&(int)pow(2,sizeof(int)*8-1)) printf("1"); else printf("0");
 printf("frahment\n");
 printf("input nomer bita and dovgina \n");
 scanf("%d",&p);
 scanf("%d",&s);
 
 for (i=s+p-1;i>=p;i--)
 
  if (i!=15) { f=pow(2,i); k=x&f; printf(" %d ",k>>i);}
   else
    if (x&(int)pow(2,sizeof(int)*8-1)) printf("1"); else printf("0");
 }

И вот задания к последним четырём:
2. Задано ціле число х. Знайти:
• молодший та старший біти числа х;
• і - ий біт числа х;
• фрагмент числа х, починаючи з р-го біта довжиною n біт.

3. Задано ціле число х. Обнулити:
• молодший та старший біти числа;
• і - ий біт числа;
• фрагмент числа х, починаючи з р-го біта довжиною n біт.
4. Задано ціле число х. Встановити:
• молодший та старший біти числа х;
• і - ий біт числа х;
• фрагмент числа х, починаючи з р-го біта довжиною n біт.
5. Задано ціле число х. Інвертувати:
• молодший та старший біти числа х;
• і - ий біт числа х;
• фрагмент числа х, починаючи з р-го біта довжиною n біт.


И если можно определите что же должна делать вторая задача.

Большое спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть программа, нужно определить какое задание она выполняет (C++):

когда вводится нуль,то программа не работает,нужно добавитть еще какое-то условие для нуля ,но я не знаю какое - C++
В массиве целых чисел найти количество чисел с наименьшим ко-личеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777, 11}...

Готовая программа, нужно переделать ее чтобы она работала с УКАЗАТЕЛЯМИ - C++
Вычислить значение выражения тут Вычислить значение выражения (3a+4)/(a-в квадрате-5a-9) для а= 1,2,…100. Результат выполнения занести в...

Программа не воспринимает вводимый текст. Что нужно добавить чтобы она заработала? - C++
#include &lt;iostream&gt; using namespace std; int main () { int gallons, liters; cout &lt;&lt; &quot;Vvedite chislo gallonov: &quot;; ...

рабочая программа. но нужно ее переписать так, чтобы она была наиболее общей. - C++
Задана матрица смежности размерности N*M. С помощью процедуры и матрицы меньшей размерности найти медианы и записать в виде матрицы...

Есть программа на паскале, нужно на Си - C++
привет всем! Я недавно начало писать на Cи, и не знаю как решить эту задачку. точнее не знаю как написать её именно на Cи, на Паскале...

Есть программа, нужно прокомментировать :) - C++
Всем доброго времени суток! Есть задачка, решённая) Нужны комментарии (упор на теорию, не на принцип работы программы). :) P.S.:...

2
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
11.11.2012, 18:09 #2
Цитата Сообщение от lostpoet Посмотреть сообщение
А для меня это тёмный дремучий лес((

Не по теме:

А чему тебя в школе учили?

0
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
11.11.2012, 18:10  [ТС] #3
А школы я только 9 класов окончила...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 18:10
Привет! Вот еще темы с ответами:

Проверить, есть ли в массиве А [n] числа В и С и определить, какое из чисел встречается в массиве чаще - C++
1. Проверить, есть ли в массиве А числа В и С и определить, какое из чисел встречается в массиве чаще.

есть программа , но нужно что то в ней заменить - C++
Вот программа - - - - - - - - - - ЗАДАНИЕ: Даны натуральные а и b, не равные 0 одновременно. Найти d = НОД (a,b) и такие целые x и y,...

Не выполняет программу, нужно исправить - C++
выдает ошибку в dev C++, а в visual C++ все нормально, но мне нужно в dev C++ чтобы была программа. В чем дело не пойму. Помогите ...

Программа не выполняет вычисления - C++
Подскажите почему не выполняются вычисление, а просто виснет она и все, никаких действий не происходит, где ошибся? Код программы: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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