ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

С++
  #1  
Старый 12.11.2007, 20:52
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
Провел на форуме:
4789789

Репутация: 71
По умолчанию С++

Привет всем....
помогите пожалуйста с прогой

#include <stdio.h>
main()
{
int i=14,j=2;
printf("\n i++=%d",i++);
printf("\n ++i=%d",++i);
printf("\n --j=%d",--j);
printf("\n i+=4 =%d",i+=4);
printf("\n j*=5 %d",j*=5);
printf("\n i/=j = %d",i/=j);
printf("\n i%%=3=%d",i%=3);
i=1;
printf("\n i<<1 = %d, i<<2 = %d",i<<1,i<<2);
printf("\n i>>3 = %d",i>>3);
float f=15.45;
printf("\n i=%d ",i=f);
}


1)Как написать программу читающую с клавиатуры два числа с плавающей точкой и выводящую на экран максимальное из этих чисел,используя
а)оператор if
б) операцию ?.

2) Как написать программу,определяющию в байтах размер данных всех типов
3)Как написать программу,читающую с клавиятуры десятичное беззнаковое целое число и выводящую битовое (двоичное) представление данного числа.
Возможный алгоритм:
Вводим число 15 раз делится на 2 и определяется остаток отделения 0 или 1. Данный остаток и будет представлять один разряд в двоичном представлении.
 
Ответить с цитированием

  #2  
Старый 12.11.2007, 21:05
DWORD
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме:
165671

Репутация: 215
По умолчанию

А какое имеет отношение к задаче приведенный фрагмент кода сомнительного смысла?

А по условию можно пользоваться std::cin'ом и std::cout'ом?
 
Ответить с цитированием

  #3  
Старый 12.11.2007, 21:10
MacTep
Постоянный
Регистрация: 29.05.2006
Сообщений: 356
Провел на форуме:
1900547

Репутация: 576
Отправить сообщение для MacTep с помощью ICQ
По умолчанию

1)

#include <stdio.h>

void main( void )
{
double a, b;

scanf("%lf %lf", &a, &b);

if(a > b)
printf("%lf", a);
else
printf("%lf", b);
}

//////////////////////////

#include <stdio.h>

void main( void )
{
double a, b;

scanf("%lf %lf", &a, &b);

printf( "%lf", a > b : a ? b );
}

2)

#include <stdio.h>

int main( void )
{
printf("Int - %i\n", sizeof(int));
printf("Char - %i\n", sizeof(char));
printf("Float - %i\n", sizeof(float));
printf("Double - %i\n", sizeof(double));

// Дальнейший алгоритм понятен)))

return 0;
}

3) // Супер кривая реализация - думать лень

#include <stdio.h>

int main( void )
{
int x, i = 0, j;
char y[100];

scanf("%i", &x);

while(x != 0)
{
y[i++] = x % 2 + 48;
x /= 2;
}

for( j = i-1;j >= 0; j--)
printf("%c", y[j]);
printf("\n");

return 0;
}

Пишу без компиляции, так что хз, что выйдет.. =)

Последний раз редактировалось MacTep; 12.11.2007 в 21:34..
 
Ответить с цитированием

  #4  
Старый 12.11.2007, 21:39
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

а раньше люди сами себе лабы делали...
 
Ответить с цитированием

  #5  
Старый 12.11.2007, 21:44
MacTep
Постоянный
Регистрация: 29.05.2006
Сообщений: 356
Провел на форуме:
1900547

Репутация: 576
Отправить сообщение для MacTep с помощью ICQ
По умолчанию

Судя по заданиям, человек тока-тока начал учить С(даж не С++)... Ну, пусть почитает кривенький код Да и мне хоть что-то.. А то я со своими базами данных по работе уже .... сам понял... Боялся, что такую задачу решить не смогу
 
Ответить с цитированием

  #6  
Старый 12.11.2007, 21:57
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
Провел на форуме:
4789789

Репутация: 71
По умолчанию

Цитата:
Сообщение от Helios  
а раньше люди сами себе лабы делали...
Если бы я знал как её делать,то бы не спрашивал =)...
 
Ответить с цитированием

  #7  
Старый 12.11.2007, 22:08
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

А чтобы знать - нужно книжки умные читать. То, что ты спрашиваешь, - это первые пару глав в любой книжке по Си.

3-е задание:

Код:
#include <stdio.h>

void printNum(int n);   // рекурсивная функция

int ss=2;   // в этой переменной находится основание системы счисления

void main(void)
{
	unsigned num=0;
	int i=0;

	scanf("%u", &num);

	for(i=ss;0!=num/i;i*=ss);      // решение
                                   // через
	for(i/=ss;i>0;i/=ss)           // цикл
		printf("%u",(num/i)%ss);
	
	printf("\n");
	printNum(num);
}
void printNum(int n)   // рекурсивная функция
{
	if(0<n/ss)
	{		
		printNum(n/ss);
	}
	printf("%u", n%ss);
}

Последний раз редактировалось Forcer; 12.11.2007 в 22:58..
 
Ответить с цитированием

  #8  
Старый 12.11.2007, 22:39
DWORD
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме:
165671

Репутация: 215
По умолчанию

Forcer, ну и дела... Рекурсия... Многократные вызовы функций вывода, деление на двойку обычным делением вместо сдвига, остаток остатком вместо конъюнкции. В условии какое-то неясное условие "меньше", вместо проверки на равенство нулю (что оптимизируется компилятором). Да и при том по условию задачи число беззнаковое. Да еще и само деление на двойку вычисляется будь здоров сколько раз. Если уж писать такой плевочек кода - то писать красиво!
 
Ответить с цитированием

  #9  
Старый 12.11.2007, 22:44
MacTep
Постоянный
Регистрация: 29.05.2006
Сообщений: 356
Провел на форуме:
1900547

Репутация: 576
Отправить сообщение для MacTep с помощью ICQ
По умолчанию

Решение по себе красивое, хоть в алгоритмических языках стараюсь без рекурсий.. Их идеологически вернее в функциональных использовать..
Но смысл в том, что для новичка в С/С++ это явно будет перебор=)
 
Ответить с цитированием

  #10  
Старый 12.11.2007, 22:58
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

Подправил для любой системы счисления + решение через массив.

2dword
про сдвиг вначале помнил, а потом забыл :-). Про остаток не понял вообще. Насчет условия - разве имеет значение? число подправил - не заметил. Покажи плиз пример красивого кода :-)

P.S. опустил просто по полной :-D

Последний раз редактировалось Forcer; 12.11.2007 в 23:01..
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ