Сторінка 1 з 9
Програмування
Додано:
31 березня 2011, 15:19
Batarchuk
Вот программка, по условию она должна считать количество битов "00" (пар нолей) целого числа. Но когда ввожу тестовое число 2565989889 то ответ не правильный. Может ли кто-то подсказать с чем это связано и как следует подкоректировать программу. Вот код :
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
using namespace std;
void print_bits (unsigned n)
{
int bit;
for (bit = sizeof(unsigned)*8 - 1; bit >= 0; bit--)
{
((n >> bit) & 01) ? putchar ('1') : putchar ('0');
if (bit % 4 == 0) putchar (' ');
}
}
main ()
{
char con;
do
{
unsigned n;
int count = 0;
cout << "Input int" << endl;
cin >> n;
print_bits (n);
n = ~ n;
do
{
if (n & 01)
{
n >>= 1;
}
if (n & 01)
{
count++;
n >>= 1;
}
else n >>= 1;
}
while (n != '\0');
cout<<endl;
cout << "Number of *00* = " << count << endl;
cout <<"Continue? (y/n)";
cin>>con;
}
while (con =='y');
system ("PAUSE");
return 0;
}
Re: Програмування
Додано:
31 березня 2011, 16:53
Obi-Van
все правильно оно считает
1001 1000 1111 0001 1110 0110 0|00|0 0|001
Re: Програмування
Додано:
14 квітня 2011, 18:32
Ivan
лаба 4 вариант 10??????
Re: Програмування
Додано:
14 квітня 2011, 20:59
Староста
Визначити структуру для збереження інформації про час (години, хвилини, секунди). Написати функцію, яка визначає величину інтервалу між двома заданими моментами часу.
#include <iostream>
using namespace std;
struct TTimes
{
long h, m, s;
}
long time interval (TTime a, TTime b)
{
long x,y;
x = 3600* a.h + 60* a.m + a.s;
y = 3600* b.h + 60* b.m + b.s;
return abs(x-y);
}
int main()
{
TTime a, b;
cout <<"Enter h, m ,s:";
cin >> b.h >> b.m >> b.s;
cout << "interval" << timeinterval (a,b) <<"seconds";
getch ();
return 0;
}
Re: Програмування
Додано:
14 квітня 2011, 21:03
Sergiych
лабораторна 4 вариант 9
Re: Програмування
Додано:
14 квітня 2011, 21:23
Ivan
задана не порожня послідовність слів з латинських літер. Останнім символом цієї послідовності є крапка. Словами називаються групи символів , які розділені одним чи кількома пробілами та не містять пробілів усередені себе.
для заданої вище послідовності визначити накоротше слово!
Re: Програмування
Додано:
14 квітня 2011, 22:03
Василь
У меня нету заданий, пишите их!
Re: Програмування
Додано:
14 квітня 2011, 22:04
Greg
Ось, Вася, зроби пліз!
Я думаю для тебе не важко буде!
- Masiv.rar
- Задачка по масиву.
- (744 байт) Завантажено 578 разів
Re: Програмування
Додано:
15 квітня 2011, 00:20
Василь
Староста написав:Визначити структуру для збереження інформації про час (години, хвилини, секунди). Написати функцію, яка визначає величину інтервалу між двома заданими моментами часу.
#include <iostream>
using namespace std;
struct TTimes
{
long h, m, s;
}
long time interval (TTime a, TTime b)
{
long x,y;
x = 3600* a.h + 60* a.m + a.s;
y = 3600* b.h + 60* b.m + b.s;
return abs(x-y);
}
int main()
{
TTime a, b;
cout <<"Enter h, m ,s:";
cin >> b.h >> b.m >> b.s;
cout << "interval" << timeinterval (a,b) <<"seconds";
getch ();
return 0;
}
Сказалаб, шо не шариш ))
- Код: Виділити все
/*
* Визначити структуру для збереження інформації про час
* (години, хвилини, секунди). Написати функцію, яка визначає величину
* інтервалу між двома заданими моментами часу.
* Горбаченко Василь
*/
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
struct TTime{
long h, m, s;
};
long timeinterval (TTime a, TTime b)
{
long x,y;
x = 3600* a.h + 60* a.m + a.s;
y = 3600* b.h + 60* b.m + b.s;
return abs(x-y);
}
int main()
{
TTime a, b;
cout <<"Enter h, m ,s:";
cin >> a.h >> a.m >> a.s;
cout <<"Enter h, m ,s:";
cin >> b.h >> b.m >> b.s;
cout << "interval = " << timeinterval (a,b) <<" seconds"<<endl;
getch ();
return 0;
}
Re: Програмування
Додано:
15 квітня 2011, 00:22
Василь
Sergiych написав:лабораторна 4 вариант 9
У меня нету задания!!!