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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 13:05   #1
Студентка@
 
Аватар для Студентка@
 
Регистрация: 30.01.2008
Сообщений: 5
Лампочка Помогите найти ошибку!

Программа такая:
Выписать ве возможные варианты разложения заданного натурального числа N на сумму 2-х квадратов натуральных чисел, если такие разложения имеются.
Проблема в том,что программа вроде как работает,но приложение сразу закрывается и строка (else cout <<"takix razlogenii net" не работает!Помогите,пожалуйста!
Код:
#include <iostream>   
using namespace std;

int main(){
  int n;  
 cout << "Enter n: ";  
 cin >> n;  
 for(int i=1;i<n;i++){  
  for(int j=1;j<n;j++){  
	  if(i*i+j*j == n) cout << i << ',' << j<<'\n';
else cout <<"takix razlogenii net";
  }   
 }   

}
Катюша, пост оформляй по правилам, ато ответов рескуешь не получить
К@тюш@

Последний раз редактировалось Stilet; 21.05.2008 в 13:17.
Студентка@ вне форума Ответить с цитированием
Старый 21.05.2008, 13:25   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
Сообщение

Код:
#include <iostream> 
using namespace std;

int main(){
int n; 
cout << "Enter n: "; 
cin >> n; 
for(int i=1;i<=n;i++)
{ 
   for(int j=1;j<=n;j++)
    { 
      if((i*i+j*j) == n) 
         cout << i << ',' << j<<'\n';
      else cout <<"takix razlogenii net";
     } 
} 

getch(); //Ожидает нажатия любой клавиши для выхода для удержания окошка
}
Господа и Дамы, оформляйте правильно посты
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Stilet; 21.05.2008 в 13:48.
Sweta вне форума Ответить с цитированием
Старый 21.05.2008, 13:56   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы наверное лучше б так сделал:
Код:
int main(){
  int n;
  bool b;
  b=false;
 cout << "Enter n: ";
 cin >> n;
 for(int i=1;i<n;i++){
  for(int j=1;j<n;j++){
      if(i*i+j*j == n) { cout << i << ',' << j<<'\n';b=true;}
  }
 }
 if (!b) {cout <<"takix razlogenii net";}

getchar();

}
Хотя автору конечно самому решать...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2008, 14:21   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Если программа работает, то в отладчике должен быть пошаговый режим работы. Там можно шагать по каждому оператору , видеть результат и просматривать значение переменных.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку Максим_Леонидович БД в Delphi 4 20.08.2008 23:23
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34
Помогите найти ошибку KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 1 11.04.2008 15:48
Помогите найти ошибку Рената Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2008 04:29
help!!! Помогите найти ошибку!!! linker13 Общие вопросы Delphi 2 07.07.2007 23:15