Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 32
1

Вывести простые числа в пределах до 100

26.03.2016, 19:41. Просмотров 2326. Ответов 8
Метки нет (Все метки)


Помогите с кодом, пожалуйста. Суть задачи в том, чтобы на экран вывести простые числа в пределах до 100.
Когда я запускаю код, пишет следующее Run-Time Check Failure #3 - The variable 'k' is being used without being initialized. Что не так в коде, подскажите, пожалуйста? И вообще, правильно ли он написан?

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
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main()
 {
    int i,k,flag,m;
 
    for(i=2;i<=100;i++) // Числа, которые будем делить 
    {
        for(k=2;k<i;k++) // Числа, на которые будем делить.
        {
        m=i%k;
        if(m!=0)continue;
        else
            flag = 0; // Пишем флаг =0, если есть какой-то остаток.
        break;
    }
    if(flag = 0) 
        cout << i<< endl; // Если флаг = 0(то есть, остаток есть), выводим число, которое делили, на экран.
    
    }
    system("pause");
}
P.S Извините, что таким образом написал код, просто забыл как вставлять по-нормальному
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2016, 19:41
Ответы с готовыми решениями:

Вывести простые числа от 1 до 100
Программа должная выводить все простые числа от 1 до 100. Вот, вроде написал, но не могу понять,...

Вывести все простые числа от 0 до 100 (цикл while)
Подскажите пожалуйста как при помощи цикла while и проверки вывести на экран все простые числа от 0...

Написать программу проверки умения складывать и вычитать числа в пределах 100. Программа должна вывести 10 примеров и выставить оценку за 10 правильны
Написать программу проверки умения складывать и вычитать числа в пределах 100. Программа должна...

Двумерный целочисленный массив A(m;n) задается с экрана, либо генерируется в пределах от -100 до 100. Найти числа b1,b1,.bm, равные наименьшим значен
Двумерный целочисленный массив A(m;n) задается с экрана, либо генерируется в пределах от -100 до...

8
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
26.03.2016, 19:47 2
В общем случае, для оформления кода,
выделите код и нажмите на кнопку соответствующего языка (см. изображение)


Цитата Сообщение от Komiks Посмотреть сообщение
забыл как вставлять по-нормальному
Cмотря что и куда вставлять ох, вот я пошляк
1
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 32
26.03.2016, 19:51  [ТС] 3
Понял, спасибо
0
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,551
26.03.2016, 20:02 4
Цитата Сообщение от Komiks Посмотреть сообщение
if(flag = 0)
может все таки
C++
1
if(flag == 0)
иначе ничего не выведет
далее если нет остатка значит число делится на другое число т.е уже не простое
следовательно
C++
1
if(flag != 0)
но во flag записывается только 0 и никогда другое значение следовательно простых чисел тоже не выведем

ознакомься с темой Быстрая проверка натурального числа на простоту
0
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 32
26.03.2016, 20:16  [ТС] 5
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
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main()
{
    int i,k,flag=1,m;
 
    for(i=2;i<=100;i++) // Числа, которые будем делить 
    {
        for(k=2;k<i;k++) // Числа, на которые будем делить.
        {
        m=i%k;
        if(m!=0)continue;
        else
            flag == 0; // Пишем флаг =0, если есть какой-то остаток.
        break;
    }
        
    if(flag == 0) 
    
        cout << i; // Если флаг = 0(то есть остаток есть), выводим число, которое делили, на экран.
    flag ==1;
    
        
    
    }
    system("pause");
}
Вот я переписал немного по-другому. Присвоил сначала flag=1. Потом, если в остатке 0, присваиваем flag==0. И потом, если flag==0, мы выводим i. И потом присваиваем флагу обратно единицу, и начинаем цикл сначала. Но у меня в окне вывода вообще ничего не написало. Я не уверен в конце кода. Когда я присваиваю флагу еденицу, что мне надо написать,что бы цикл продолжился?
0
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,551
26.03.2016, 20:22 6
Цитата Сообщение от Komiks Посмотреть сообщение
flag == 0; // Пишем флаг =0, если есть какой-то остаток.
не пишем а сравниваем с 0
C++
1
flag = 0;
а так пишем

Добавлено через 56 секунд
Цитата Сообщение от Komiks Посмотреть сообщение
flag ==1;
тоже самое
C++
1
flag = 1;
0
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 32
26.03.2016, 20:24  [ТС] 7
Теперь цифры выводятся, но не только простые , а все от 4 до 100 , только некоторые простые не пишутся, например, 11, 13, 17, а выводит 10, 12, 14, 15 и т.д
0
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,551
26.03.2016, 20:30 8
условие поменяй, я уже писал
Цитата Сообщение от ValeryS Посмотреть сообщение
C++
1
if(flag != 0)
Добавлено через 2 минуты
далее
Цитата Сообщение от Komiks Посмотреть сообщение
C++
1
2
3
else
flag == 0; // Пишем флаг =0, если есть какой-то остаток.
break;
в скобки возьми, это один блок

C++
1
2
3
4
5
else
{
flag =0; // Пишем флаг =0, если есть какой-то остаток.
break;
}
0
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 32
26.03.2016, 20:33  [ТС] 9
Аааааа, точно, я же написал, что,если m=0, то присваиваю флагу 0, тогда, выводить на экран надо то число, при котором флаг не равен нулю. Понял, спасибо за помощь, всё получилось
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2016, 20:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Дан целочисленный массив А задается с экрана либо генерируется в пределах -100 до 100. Найти числа b1 b2 …bn равные суммам элементов строк
Дан целочисленный массив А(m,n) задается с экрана либо генерируется в пределах -100 до 100. Найти...

Найти все простые числа в диапазоне от 1 до 100
Заранее прошу прощения за , возможно, глупые вопросы, так как я новичок и на форуме и в...

Цикл: Найти и напечатать все простые числа, меньше 100
Надо написать программу, которая находит и печатает все простые числа меньше 100, дайте,...

Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100
Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100. Число n...


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

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

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