Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Anusing
0 / 0 / 1
Регистрация: 16.04.2015
Сообщений: 3
#1

Почему лишний раз выводится строка? - C++

04.11.2016, 22:24. Просмотров 144. Ответов 1
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
int main()
{ 
    setlocale(0, "RUS");
    int a, b, q,o;
    char g;
    fstream F;
    F.open("C:\\cpp\\Inp.txt");
    F >> a;
    long int *r = new long int[a];
    for (b = 0;b < a;b++) {
        F >> r[b];
    }
    cout << a << endl;
    //for (q = 0;q < a;q++) {
        //cout << r[q] << " ";
    //}
    for (q = 0;q < a;q++) {
        o = 0;
        for (b = 0;b < a;b++) {
            if (r[q] % r[b] != 0) {
                 o++;
            }
            if (o == a - 1) {
                cout << "Простое число  "<< r[q] << endl;
            }
        }
    }
    delete[] r;
    system("pause");
    return 0;
}



Входной файл
http://www.cyberforum.ru/cpp-beginners/thread649541.html
5
10 5 3 15 16


Выводится
5 3 16 16
Почему повторяется последнее число?

Добавлено через 7 минут
Программе дается входной файл в первой строке которого кол-во чисел.
Во второй строке числа и требуется найти среди них простые (простыми считаются те которые не делятся на другие числа из предложенного ряда кроме себя)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2016, 22:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Почему лишний раз выводится строка? (C++):

Почему выводится только одна строка матрицы
#include &lt;stdafx.h&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;ctime&gt;...

Система счисления - выводится лишний ноль
Добрый день! Вопрос мой состоит в следующем: Много видел уже готовых программ...

Лишний раз выводит сообщение
Добрый вечер. Уже час бьюсь над следующей проблемой. Почему выводится...

_getch() считывает номер и прогоняет цикл лишний раз
for (int i = 0;i&lt;6; i++) { sim = _getch(); printf(&quot;%c &quot;,sim); sim = 0;...

Почему в программе получается по окончанию лишний отступ?
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main()...

1
nonedark2008
1022 / 762 / 210
Регистрация: 28.07.2012
Сообщений: 2,118
04.11.2016, 22:55 #2
Цитата Сообщение от Anusing Посмотреть сообщение
Почему повторяется последнее число?
Потому что вот для числа 16 это выполняется два раза:
Цитата Сообщение от Anusing Посмотреть сообщение
if (o == a - 1) { cout << "Простое число "<< r[q] << endl; }
Первый раз, когда мы проверяем остаток с числом 15, тогда o становится a-1, а второй раз, когда мы число 16 проверяем на остаток с числом 16. После предыдущего шага o==a-1 не поменялось, значит сообщение выведется второй раз.
Логично, что внутренний цикл нужно прервать сразу же, как только мы вывели сообщение.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2016, 22:55
Привет! Вот еще темы с решениями:

Почему выводится в виде таблицы и почему не работает сортировка
почему выводится в виде таблицы? почему не работает сортировка? и как туда...

Дана строка. Подсчитать сколько раз первая строка входит во вторую
Дана строка. Подсчитать сколько раз первая строка входит во вторую. Например:...

Выводится null-строка
Всем привет. Есть код, преобразующий целое беззнаковое число из двоичной...

Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы?
Есть две строки. MSK=&quot;Москва&quot; и from, считанная из текстовика, через...


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

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

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