Это то, что я написал до сих пор, где я ошибся?Пытается создать программу, которая читает массив и печатает простые числа
#include <iostream>
using namespace std;
int main()
{
int x[5], count=0;
for (int i=0;i<5;i++)
cin>>x[i];
for (int i=0;i<5;i++)
{
for (int n=2;n<x[i];n++)
{
if (x[i]%n==0)
count++;
}
if (count==1)
cout<<x[i]<<" ";
}
}
Edit: Большое спасибо всем, кто пытался помочь. Проблема заключалась в том, что мне приходилось подсчитывать в цикле, чтобы он начинался с 0 каждый раз. Вот мой новый рабочий код:
#include <iostream>
using namespace std;
int main()
{
int x[5];
for (int i=0;i<5;i++)
cin>>x[i];
for (int i=0;i<5;i++)
{ int count=0;
for (int n=2;n<=x[i];n++)
{
if (x[i]%n==0)
count++;
}
if (count==1)
cout<<x[i];
}
}
В чем проблема, которую вы заметили? – George
Крошечная программа, подобная этой, действительно отличная возможность познакомиться с отладчиком. Вы можете выполнить код за строкой и проверить значения переменных, чтобы узнать, где программа ведет себя отличную от вашего ожидания. –
Подсказка: выделите часть, которая на самом деле выполняет основной тест: постройте 'bool isPrime (unsigned n)' и оттуда. Есть более эффективные способы сделать это, но это поможет вам начать. – Bathsheba