Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2008, 11:40   #1
argrus
 
Аватар для argrus
 
Регистрация: 29.03.2008
Сообщений: 8
Восклицание Вопрос оптимизации программы на С++

Можно ли упростить код этой программы?
//---------------------------------------------------------------------------

#include <conio.h>
#include <iostream.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream>
int main()
{
int x, y;
cout << "Number 1: ";
cin >> x;
cout << "Number 2: ";
cin >> y;
if (x==y) {
cout << "Numbers are equal";
}
else {
if (x>=y){
while (x>=y) {
cout << x << " ";
x--;
}
}
else {
while (x<=y) {
cout << x << " ";
x++;
}
}
}



getch();
return 0;
}
//---------------------------------------------------------------------------
argrus вне форума Ответить с цитированием
Старый 29.03.2008, 12:30   #2
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

моно:
Код:
//---------------------------------------------------------------------------

#include <conio.h>
#include <iostream.h>

int main()
{
int x, y;
cout << "Number 1: ";
cin >> x;
cout << "Number 2: ";
cin >> y;
if (x==y) {
cout << "Numbers are equal";
}
else {
if (x>=y){
while (x>=y) {
cout << x << " ";
x--;
}
}
else {
while (x<=y) {
cout << x << " ";
x++;
}
}
}



getch();
return 0;
}
//---------------------------------------------------------------------------
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 29.03.2008, 12:36   #3
argrus
 
Аватар для argrus
 
Регистрация: 29.03.2008
Сообщений: 8
По умолчанию

и в чем тут упрощение?
argrus вне форума Ответить с цитированием
Старый 29.03.2008, 12:52   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
#include <conio.h>
#include <iostream.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream>
int main()
{
int x, y;
cout << "Number 1: ";
cin >> x;
cout << "Number 2: ";
cin >> y;
if (x==y)
	cout << "Numbers are equal";
else if (x > 0)
	do
	{
		cout << x << " ";
		x--;
	}
	while (x >= y)
else
	do
	{
		cout << x << " ";
		x++;
	}
	while (x <= y)

	getch();
	return 0;
}
pu4koff вне форума Ответить с цитированием
Старый 29.03.2008, 13:30   #5
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Вот держи
Код:
#include <conio.h>
#include <iostream.h>>
void main(void)
{
clrscr();
int x, y,i;
cout << "Number 1:";
cin >> x;
cout << "Number 2:";
cin >> y;
int n=1;

if(x==y) cout << "Numbers are equal";
if(x>y) n=-1;
if(x!=y)
while(1)
 {
  cout<<x<<" ";
  x+=n;
  if(x==y){cout<<x;break;}
 }
getch();
}
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Старый 29.03.2008, 15:10   #6
argrus
 
Аватар для argrus
 
Регистрация: 29.03.2008
Сообщений: 8
По умолчанию

Спасибо! Вот это другое дело ))
argrus вне форума Ответить с цитированием
Старый 29.03.2008, 18:09   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Stepler Посмотреть сообщение
Вот держи
ну тогда уж:
Код:
#include <conio.h>
#include <iostream.h>>
void main(void)
{
clrscr();
int x, y,i;
cout << "Number 1:";
cin >> x;
cout << "Number 2:";
cin >> y;

if(x == y) cout << "Numbers are equal";
else
{
  int n;
  if (x > y) n=-1;
  else n = 1;
  do
  {
    cout << x << " ";
    x += n;
  }
  while(x != y);
  cout << x;
 }
getch();
}
pu4koff вне форума Ответить с цитированием
Старый 29.03.2008, 18:50   #8
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
ну тогда уж:
Уж лутше тогда так
Код:
#include <conio.h>   
#include <iostream.h>>   
void main(void)   
{  
clrscr();  
int x, y;
cout << "Number 1:";  
cin >> x;  
cout << "Number 2:";  
cin >> y;  
 
if(x == y) cout << "Numbers are equal";  
else  
{  
  int n=1;
  if (x > y) n=-1;
  do
  {
    cout << x << " ";
    x += n;
  }
  while(x!=(y+n));
 }   
getch();   
}
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Старый 29.03.2008, 20:09   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

каждую итерацию цикла будет лишнее сложение :-P
pu4koff вне форума Ответить с цитированием
Старый 29.03.2008, 23:54   #10
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Цитата:
каждую итерацию цикла будет лишнее сложение :-P
Не совсем согласен, ну разве что один раз будет лишнее сложение))
Но так код выглядит более елегентно и компактно :-P
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по оптимизации скорости Иллидан Общие вопросы Delphi 9 11.07.2008 23:46
Вопрос к тем кто создавал для программы инсталяционный диск через InstallShield!!! Alexij Софт 1 20.06.2008 22:51
Помощь в оптимизации anger Общие вопросы Delphi 13 05.11.2007 13:15
задачи оптимизации kirasir Microsoft Office Excel 2 08.08.2007 00:40
Вопрос по написанию программы Canadec БД в Delphi 1 22.07.2007 18:38