Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
DDT

Ошибки после компиляции

07.10.2009, 22:03. Показов 899. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана задача(дословно): дан массив целых положительных чисел, переписать простые числа во второй массив; упорядочить массивы 1-й по возрастанию 2-й по убыванию. Создать функции для определения простого числа и для сортировки.
Писал на C++ Builder 2007 (пробовал на других компах: под Windows 7 в VS 2009 тоже кието ошибки и под XP тоже на C++ Builder 2007) компилируется без ошибок и предупреждений, затем вылазит много всякого.
Т.к. после работы я мало чего понимал на парах потеряв почти весь день получилось следующее:
C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <vcl.h> //как я понял обязателен
#include <iostream.h>
#include <math.h>
 
using namespace std;
int m[50], mc[50]; //массивы
//-Заполнение массива рандомом-----------------------------------------------
    void ZapMas(int n)
 {
  randomize();
  for(int i=0; i<50; i++)
  m[i]=1 + rand()%100;
  }
//-Определенеие простого числа по теореме Вильсона---------------------------
long int factorial(int x)//функция находит факториал рекурсивным методом
 {
    return(x * factorial (x - 1));
 }
bool SimpleInt (int p)//считает логическое выражение и возвращает false,
                //если число составное, true, если число простое
 {
  return ((factorial (p-1)+1)%p==0);
 }
//-копирование простых чисел-------------------------------------------------
void CopyPCh(int n)
 {
    for (int i = 0; i < n; i++) {
    if (SimpleInt(m[i]) == true) {mc[i] = m[i];}
    }
 }
//-сортировка по методу пузырька по возвростанию-----------------------------
  void SortV(int n)
  {
  int i, j, b;
  for( i=0; i < n; i++) {
    for( j = n; j > i; j-- ) {
      if ( m[j-1] > m[j]) {
          b = m[j-1];
          m[j-1] = m[j];
          m[j] = b;
    }
   }
  }
 }
//-сортировка пузырьком по убиванию------------------------------------------
void SortU(int n)
 {
  int b, i, j;
  for (i = 0; i < n; i++) {
      for (j = 0; j < i; j++) {
          if ( mc[j+1] > mc[j]) {
              b = mc[j+1];
              mc [j+1] = mc[j];
              mc[j] = b;
          }
      }
  }
 }
//-вывод массивов------------------------------------------------------------
 void Out(int n)
 {
     cout << "Массив 1\tПростые числа";
     for (int i = 0; i < n; i++) {
          cout << m[i] << "\t" << mc[i];}
 }
//---------------------------------------------------------------------------
int main()
 {
  ZapMas(50);
  CopyPCh(50);
  SortV(50);
  SortU(50);
  Out(50);
  return 0;
 }
//---------------------------------------------------------------------------
После отладке(Run Without Debugging) выдает следующее:

При запуске(Run):

нажимаю Break подсвечивает всю строчку темно красным:

return( x * factorial (x - 1));

если Continue так же подсвечивает темно красным и говорит:
Миниатюры
Ошибки после компиляции   Ошибки после компиляции   Ошибки после компиляции  

cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.10.2009, 22:03
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void showHpMp()

ошибки компиляции
недавно создавал тему но никто не помог(поиск юзал не помогло) когда я компилирую пример из boost (самый первый) вот такие ошибки ...

Ошибки компиляции
Иногда при незначительном изменении рабочей программы возникает куча ошибок (см. скриншот). Такое впечатление, что какая-то переменная...

4
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
07.10.2009, 22:33
Цитата Сообщение от DDT Посмотреть сообщение
long int factorial(int x)//функция находит факториал рекурсивным методом
{
return(x * factorial (x - 1));
}
А где условие прекращение рекурсии?
С какого-то момента программе нужно будет вычислить факториал от отрицательного числа, вот тут-то и должно быть исключение.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.10.2009, 22:42
перепиши
C++
1
2
3
4
long int factorial(int x)//функция находит факториал рекурсивным методом
 {
        return (x > 2)? (x * factorial (x - 1)) : 1;
 }
BCB 6.0 не ругается и все нормально отрабатывает
Миниатюры
Ошибки после компиляции  
1
DDT
07.10.2009, 23:01
Цитата Сообщение от M128K145 Посмотреть сообщение
перепиши
C++
1
2
3
4
long int factorial(int x)//функция находит факториал рекурсивным методом
 {
        return (x > 2)? (x * factorial (x - 1)) : 1;
 }
BCB 6.0 не ругается и все нормально отрабатывает
Спасибо все работает! Еще один вопрос по поводу этой строчки : 1 это что озночает?
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.10.2009, 23:15
C++
1
(условие) ? true : false;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2009, 23:15
Помогаю со студенческими работами здесь

Ошибки компиляции
Пожалуйсто,помогите! Очень надо #include &lt;cmath&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; struct Point { int...

Ошибки компиляции
Я начинающий программист. Не знаю почему компилятор ругается, объясните. В 20 строке: &quot;=: левый операнд должен быть левосторонним...

Ошибки в компиляции
Здравстуйте все. В процессе написания одной проги на с++ в dev-cpp натолкнулся на целую кучу ошибок разного плана, а именно: ...

Ошибки компиляции
Доброго времени суток. Прошу проверить меня) Собственно задание: 3. Найдите ошибки компиляции: a. int const x = 2; int * const...

Ошибки после компиляции на Visual Express 2012.Ошибки в теме
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что поменять чтобы зароботало. После компиляции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru