Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

Выдаёт ошибку... - C++

31.12.2009, 14:30. Просмотров 818. Ответов 14
Метки нет (Все метки)

Строчка 32.
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdio.h>
 
using namespace std;
bool prime(int n)
{
        bool v;
        v=true;
        int k;
        k=n/2+1;
        for (int i=2;i<=k;i++)
        {
            if (n % i == 0) v=false;
        }
return v; 
}
 
main ()
{
int n,k,l,d,i;
cout <<"Enter the number, please!"<<endl;                
cin >> n;                                                 
k=n;                                                     
d=static_cast<int>(sqrt(n)+2);                           
for (i=2;i<=d;i++)
{
if (prime(i))
   {
   eee:
   if (k % i = 0)       // tut oshibku pri compilacii vidaiot :(
     {
        cout <<i<<endl;
        k=static_cast<int>(k/i);
        goto eee;
     }
   }
}
 
getch ();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2009, 14:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выдаёт ошибку... (C++):

выдаёт ошибку в составленной программе выдаёт ошибку - C++
Составить программу, которая находит максимальное значение среди элементов линейной таблицы Y, состоящий из N действительных чисел, имеющих...

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так? - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short m)// функция вычисления факториала ...

Выдаёт ошибку - C++
Разбираю примеры простеньких задачек в самоучителе по С++. При введение листинга одной из таких программ в компилятор столкнулась с ошибкой...

Выдаёт ошибку - C++
Данный код работает - считывает кс-грамматику из файла, если файл input.txt содержит S aAB E A aA bB B ACb b C A bA cC Если же...

Выдаёт ошибку - C++
// 777.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; int _tmain(int argc, _TCHAR* argv) {...

Выдаёт ошибку - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; const n=3; struct marsh { int begl,endl,nomer; } s Void main () { int...

14
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
31.12.2009, 14:36 #2
надо писать не "=", а "==", так как это не присвоение, а сравнение, то есть вот так;
C++
1
if (k % i == 0)
1
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.12.2009, 14:38 #3
Именно, а еще избавляйся от goto, не дело это ))..
1
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
31.12.2009, 15:00 #4
fasked, Ну я бы не сказал, что в данном случае применение goto не вызывает ошибку. Скорее всего это такой себе цикл с условием строки 32
1
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.12.2009, 16:33 #5
Без таких переходов программа как минимум была бы читабельнее
0
manfeese
31.12.2009, 19:44
  #6

Не по теме:

Каждый пишет так как ему нравиться!

1
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
31.12.2009, 20:34 #7
нас учат программировать без готу, знаем о нём, но использовать не рекомендуют, скорее даже запрещают)
0
valeriikozlov
Эксперт С++
4672 / 2498 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.01.2010, 00:23 #8
Цитата Сообщение от Sergey_O Посмотреть сообщение
нас учат программировать без готу, знаем о нём, но использовать не рекомендуют, скорее даже запрещают)
Пробуйте сами, пытайтесь, доказывайте преподавателям, хотя может преподаватели и правы: аналог while().
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
01.01.2010, 03:32 #9
Есть ситуации, где goto вполне уместно. Например, вложенные циклы
C
1
2
3
4
5
6
7
8
9
10
11
12
for(...) {
    /* ... */
    for(...) {
        /* ... */
        for(...) {
            if(...)    /* условие, при котором нужно выйти из всех циклов */
                goto NEXT;
        }
    }
}
NEXT:
    /* ... */
Заморачиваться с брейками здесь было бы гораздо хуже для читабельности, а с goto получается элегантно.
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.01.2010, 14:39 #10
Цитата Сообщение от Gravity Посмотреть сообщение
Есть ситуации, где goto вполне уместно.
Есть, никто и не спорит Целесообразно применять goto, но если говорить в общем, то безусловные переходы "не являются инструментом структурного программирования".

Конкретно в этом случае - в программе nikkka
Цитата Сообщение от valeriikozlov Посмотреть сообщение
преподаватели и правы: аналог while().
0
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.01.2010, 15:04 #11
Я не пойму чем вам goto не нравится? Посмотрите на ассемблер. Там без условных/безусловных переходов никак и никто не жалуется на читабельность кода. Если бы он действительно был настолько плох, то MS давно бы от него отказалась. Sun в Java goto убрали, но там все равно есть метки на циклы, например
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int a = 0, b = 0;
Metka1:
for(;;)
{
    Metka2:
    for(;;)
    {
        ++a;
        b += 15;
        if(a == 10)
            break Metka2;
        if(b % a == 0)
            continue Metka1;          
    }
    a ^= a;
}
Так что категорически заявлять что goto это зло нельзя!
1
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
01.01.2010, 15:32 #12
но тут то goto ничего не дает, только убивает читабельность и увеличивает размер кода
1
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
01.01.2010, 16:00 #13
Так может у nikkka задание такое было: написать прогу не используя стандартные интерпретаторы циклов, вот он и воспользовался оператором goto. Поэтому нет здесь ничего такого...

Не по теме:

Оформление кода - это дело автора, а насколько быстро работает этот код - это уже другой вопрос!

0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.01.2010, 17:03 #14
Цитата Сообщение от M128K145 Посмотреть сообщение
Посмотрите на ассемблер.
Ассемблер низкий уровень, сравнивать как-то неправильно )).. Как говориться на асме можно написать все, что угодно, жаль жизнь не вечна...
Цитата Сообщение от manfeese Посмотреть сообщение
Оформление кода - это дело автора
Keep it simple
1
valeriikozlov
Эксперт С++
4672 / 2498 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.01.2010, 17:42 #15
Цитата Сообщение от M128K145 Посмотреть сообщение
Так что категорически заявлять что goto это зло нельзя!
Полностью согласен. Все что есть нужно уметь использовать и использовать. Но нужно учитывать еще аналоги.
1
01.01.2010, 17:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2010, 17:42
Привет! Вот еще темы с ответами:

InitCommonControls выдаёт ошибку - C++
Здраствуйте! Помогите пожалуста учу Win32 прохожу функцию InitCommonControls (загружающею библиотеку comctl32.dll ) выдает ошибку: кто...

Выдаёт непонятную ошибку - C++
Кратко: Нужно реализовать класс, представляющий собой функцию, заданную в табличной форме. Зашли в тупик на методе Delete, который...

Выдаёт ошибку в коде - C++
Вот задание : Разработать ф-цию типа int,которая возвращает произведение трёх параметров,если второй отрицательный,иначе квадрат...

Компилятор выдаёт ошибку - C++
Я новичок в C++ и не могу понять в чём ошибка написал вот такой код: #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru