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

sipcalc - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ пишу лабу по классам, задание с многочленами, задаваемыми массивом коэффициентов и старшой степенью http://www.cyberforum.ru/cpp-beginners/thread296582.html
Доброго времени суток, Форумчане:) пишу лабу по классам, задание с многочленами, задаваемыми массивом коэффициентов и старшой степенью, так вот все сделал, осталось реализовать функцию умножения полинома на полином.. вот так я реализовал умножение полинома на число... //оператор умножения полинома на число Polynom operator * (Polynom &t, double K) { return MultConst(K,t); }
C++ Дана матрица Дана матрица в этой матрице найти максимальный элемент и указать номер строки и столбца, где находится этот максимальный элемент. ( в С++) http://www.cyberforum.ru/cpp-beginners/thread296571.html
C++ Обратная польская запись на С++
Ребята, помогите пожалуйста?! Есть некоторые проблемы при реализации обратной польской записи. Программу я написал, не могли бы проверить и комментировать ошибки? #include <iostream> using namespace std; typedef struct elem { char val;
Кто знает решение? Тема Классы C++
Класс Прямая Члены класса Координаты двух точек (x1,y1) и (x2,y2) Методы Конструктор, метод вывода уравнения прямой Операторы перегрузки Проверка параллельности 2х прямых ( ), определение угла между 2-мя прямыми(%) Исходные данные Прямая АВ: A(xa,ya), B(xb,yb) Прямая CD:C(xc,yc), D(xd,yd) Результаты Вывести уравнения прямых линий. Если прямые не параллельны, то найти и вывести угол между...
C++ Умножение двух матриц на С++ http://www.cyberforum.ru/cpp-beginners/thread296558.html
Всем доброе время суток! с днём Математиков ВАС, коллеги) Мне надо реализовать умножение 2 матриц размерности NxM1, M1xN соответственно. (реализовать при помощи стека). Программу я написал, но не могу найти причину, почему она у меня зацикливается? Не могли бы помочь?
C++ Чтение строки Здравствуйте! На С/С++ уже давно писал и не могу вспомнить как прочатить текст с клавиатуры в консоли в переменную типа string, т.к. cin>> читает только до первого пробела. подробнее

Показать сообщение отдельно
iWord
 Аватар для iWord
10 / 10 / 1
Регистрация: 21.12.2010
Сообщений: 109
30.05.2011, 22:21  [ТС]     sipcalc
Черт пришлось переделать.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <stdlib.h>
#include <stdio.h>
 
void* memset(void *s, int c, size_t n)
{
    char* p = s;
    while(n--) *p++ = c;
    return s;
}
 
int main(int argc[],char *argv[])
{
  extern char     *__progname;
  int r,a,i,w[32],f[32],g[32],h[32],b,c,d;
  int t,y,u[32],o[32],p[32],x[32],z,v,m;
  
  if(argc<2) {printf("Ошибка ввода используйте команду ./%s [IP адрес в формате x.x.x.x] [Маска подстеи в формате y.y.y.y]\n",__progname);
        exit(0);}
  
  /*IP в двоичном виде*/
  sscanf(argv[1],"%d.%d.%d.%d",&a,&b,&c,&d);
 
  memset(w,0,sizeof(w));
  memset(f,0,sizeof(w));
  memset(g,0,sizeof(w));
  memset(h,0,sizeof(w));
 
  for(i=0;i<32;i++)
    {
      w[i]=((a>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      f[i]=((b>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      g[i]=((c>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      h[i]=((d>>i)&1);
      
    }
  
  printf("IP в двоичном виде ");
  for(i=31,r=0;i>=0;i--)
    { 
      if((w[i]==1)||(r==1))
    { 
      printf("%d",w[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((f[i]==1)||(r==1))
    { 
      printf("%d",f[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((g[i]==1)||(r==1))
    { 
      printf("%d",g[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((h[i]==1)||(r==1))
    { 
      printf("%d",h[i]);
      r=1;
    }
    }
    puts("");
    
    
  /*Маска подсети в двоичном виде*/
  sscanf(argv[2],"%d.%d.%d.%d",&y,&z,&v,&m);
 
  memset(o,0,sizeof(w));
  memset(u,0,sizeof(w));
  memset(p,0,sizeof(w));
  memset(x,0,sizeof(w));
 
  for(i=0;i<32;i++)
    {
      o[i]=((y>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      u[i]=((z>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      p[i]=((v>>i)&1);
      
    }
    for(i=0;i<32;i++)
    {
      x[i]=((m>>i)&1);
      
    }
  
  printf("Маска подсети в двоичном виде: ");
  for(i=31,r=0;i>=0;i--)
    { 
      if((o[i]==1)||(r==1))
    { 
      printf("%d",o[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((u[i]==1)||(r==1))
    { 
      printf("%d",u[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((p[i]==1)||(r==1))
    { 
      printf("%d",p[i]);
      r=1;
    }
    }
    printf(".");
    for(i=31,r=0;i>=0;i--)
    { 
      if((x[i]==1)||(r==1))
    { 
      printf("%d",x[i]);
      r=1;
    }
    }
 
  puts("");
  getchar();
  exit(0);
}
если используем
./rgr 192.168.1.1 255.255.255.0

IP в двоичном виде 11000000.10101000.1.1
Маска подсети в двоичном виде: 11111111.11111111.11111111.


как бы проглатывая нули. Как можно исправить. И если необходимо полное задание.
C
1
2
3
Вывести в командной строке IP адрес и маску.
Вывести 1)Номер сети 2)Номер узлов сети
 3)Значение маски в 16,2,10-ричном виде в зависимости от аргументов.
 
Текущее время: 22:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru