powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки???
6 сообщений из 6, страница 1 из 1
Как избавиться от ошибки???
    #39309260
mx_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдает ошибку при компиляции программы, выводящую формулу разложения простого числа на сумму квадратов, являющихся его множителями:
Код: plaintext
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.
#include <iostream>
#include "stdafx.h"
using namespace std;

bool prostoeLi (int number)
{
	bool otv;
	int  i = 2, schetchik = 2;
	{
		while (i < number)
		{
			if (number % i == 0)
				i++;
			else
			{
				schetchik++;
				i++;
			}
			if (i == schetchik)
				otv = true;
			else
				otv = false;
		}
	}
	return otv;
}

int main()
{
	int number;

	for (int i = 1; i <= 10; i++)
	{
		for (int j = 1; j <= 10; j++)
		{
			number = i*i + j*j;
			if (prostoeLi(number))
				cout << i << "^2 + " << j << "^2 = " << number << endl;
		}
	}
	return 0;
}



Другие алгоритмы не предлагать!!!
...
Рейтинг: 0 / 0
Как избавиться от ошибки???
    #39309266
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как избавиться от ошибки???
    #39309357
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mx_1,

погуглить run time check failure #3
...
Рейтинг: 0 / 0
Как избавиться от ошибки???
    #39309375
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mx_1Выдает ошибку при компиляции программы,Это ошибка при выполнении программы (run-time), а не при компиляции. При вызове prostoeLi(2) тело цикла ни разу не выполняется, переменная otv остаётся неинициализированной, и возвращается неинициализированная переменная. Скорее всего, из-за этого ошибка.
...
Рейтинг: 0 / 0
Как избавиться от ошибки???
    #39310821
mx_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, ошибку исправил
...
Рейтинг: 0 / 0
Как избавиться от ошибки???
    #39311611
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mx_1 Выдает ошибку при компиляции программы, выводящую формулу разложения простого числа на сумму квадратов, являющихся его множителями:

у простых чисел есть только два множителя 1 и само число собственно.

mx_1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
bool prostoeLi (int number)
{
	bool otv;
	int  i = 2, schetchik = 2;
	{
		while (i < number)
		{
			if (number % i == 0)
				i++;
			else
			{
				schetchik++;
				i++;
			}
			if (i == schetchik)
				otv = true;
			else
				otv = false;
		}
	}
	return otv;
}



Как вы умудрились придумать такую реализацию?) Как это ни странно, но она вероятно должна работать. Кроме частных случаев - 1 и 2. Хотя в ней столько несуразицы и казалось бы явных ошибок. Впрочем не тестировал, потому возможно ошибаюсь. Но если не ошибаюсь, отличный пример для IOCCC, с некоторыми доработками конечно
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]