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

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

Восстановить пароль Регистрация
 
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
11.11.2012, 18:06     Есть программа, нужно определить какое задание она выполняет #1
Ну в общем так: у меня есть 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 біт.


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

Большое спасибо))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 18:06     Есть программа, нужно определить какое задание она выполняет
Посмотрите здесь:

C++ Программа не воспринимает вводимый текст. Что нужно добавить чтобы она заработала?
рабочая программа. но нужно ее переписать так, чтобы она была наиболее общей. C++
C++ Есть программа на паскале, нужно на Си
C++ есть программа , но нужно что то в ней заменить
C++ Готовая программа, нужно переделать ее чтобы она работала с УКАЗАТЕЛЯМИ
C++ когда вводится нуль,то программа не работает,нужно добавитть еще какое-то условие для нуля ,но я не знаю какое
Есть программа, нужно прокомментировать :) C++
Проверить, есть ли в массиве А [n] числа В и С и определить, какое из чисел встречается в массиве чаще C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
11.11.2012, 18:09     Есть программа, нужно определить какое задание она выполняет #2
Цитата Сообщение от lostpoet Посмотреть сообщение
А для меня это тёмный дремучий лес((

Не по теме:

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

lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
11.11.2012, 18:10  [ТС]     Есть программа, нужно определить какое задание она выполняет #3
А школы я только 9 класов окончила...
Yandex
Объявления
11.11.2012, 18:10     Есть программа, нужно определить какое задание она выполняет
Ответ Создать тему
Опции темы

Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru