Помогите исправить ошибки и доработать программу!(

Привет народ!) Пишет новичок в деле программировании) Вот такое дело.. Я хочу сделать программу которая будет находить количество простых чисел (числа которые делятся на 1 и на само себя) между двумя конкретными числами — n и 2n (сами n и 2n не идут в счет).
Написал программу вот такую:

#include <string>
#include <iostream>

using namespace std;

using std::cout;
using std::cin;
using std::endl;

int main() 
{
    setlocale(0, "");
    int q,w,p,n,x,K,b;
    cout << "Введите n в пределах от 2 до 50000: " << endl ; 
    cin >> n;
    if (1 < n)
    {
    if (50001 > n)
    {
    x = 0;
    q = n + 1;
    p = q;
    w = 2 * n;
    int arr[p];
    for (int p = 1; p <= q; p++) {
    arr[p] = 1;}
    for (p = q; p < w; p++)
    {
    b = 0;
    for (x = 1; x <= p; x++)
    {
    arr[p] = p % x;
    if (arr[p] = 0)
    {
    b = b + 1;
    }
    if (b = 2)
    {
    K = K +1;
    }
    }
    }
    }
    else
    {
    cout << "Это число не подходит!"<<endl;
    }
    cout << "Количество простых чисел =" << K << endl;
    }
    else 
    {
    cout << "Это число не подходит!"<<endl;
    }
    getchar();
    getchar();
}

Программа выдает 4 ошибки:
C:\Users\lenovo\Desktop\C++\xxx.cpp In function 'int main()':
26 7 C:\Users\lenovo\Desktop\C++\xxx.cpp [Warning] name lookup of 'p' changed [enabled by default]
12 10 C:\Users\lenovo\Desktop\C++\xxx.cpp [Warning] matches this 'p' under ISO standard rules [enabled by default]
24 11 C:\Users\lenovo\Desktop\C++\xxx.cpp [Warning] matches this 'p' under old rules [enabled by default]

Прошу помощи экспертов) Спасибо заранее

Так будет лучше:

#include <iostream>
#include <cstdlib>

using namespace std;


int main()
{
    setlocale(0, "");

    int q,w,p,n,x,K;
    bool is_prime;

    cout << "Введите n в пределах от 2 до 50000: ";
    cin >> n;
    if (1 < n && 50001 > n) {
        q = n + 1;
        w = 2 * n;

        K = 0;
        for (p = q; p < w; p++) {
            is_prime = true;
            for (x = 2; x <= p / 2; x++) {
                if (0 == p % x) {
                    is_prime = false;
                    break;
                }
            }
            if (is_prime) {
                cout << p << " ";
                K++;
            }
        }
        cout << endl;
        cout << "Количество простых чисел = " << K << endl;
    }
    else {
        cout << "Это число не подходит!" << endl;
    }

    system("pause");
    return 0;
}

При проверке на «простоту» деление можно начинать с 2 (на 1 оно и так делится) и заканчивать значением число/2. Также не имеет смысла подсчитывать полное количество делений без остатка: если есть хотя бы одно такое деление, значит число не простое. Поэтому переменная int b заменена на bool is_prime.

Для контроля добавлена печать всех найденных простых чисел из заданного диапазона (можно безболезненно убрать).

Было бы ещё лучше дать некоторым переменным более осмысленные имена и добавить комментарии. Но я не стал этого делать, что бы текст программы было проще сравнивать с исходной версией.

Благодарю! Сегодня проверю еще сам и сообщу что вышло)

Известна среднемесячная температура воздуха на следующих островах Карибского моря: Куба, Тринидад, Ямайка, Гаити. Определить, на каком из островов среднегодовая температура максимальна

koli, для начала пишем функцию, которая запрашивает у пользователя 12 чисел и возвращает их среднее арифметическое.

В главной программе делаем массив из 4-х элементов (по количеству островов). В цикле выводим название острова, выводим просьбу ввести среднемесячную температуру и вызываем вышеозначенную функцию. Результат функции записываем в массив.

Следующим циклом ищем максимальный элемент в массиве.

Выводим результат.

Всё.

PS. Для продвинутых: определить структуру, в которой будет содержаться название острова и среднегодовая температура, и определять 4-элементный массив этих структур.

PPS. Для сильно продвинутых: определить класс, в которой будет содержаться название острова и среднегодовая температура. Память для названия острова выделять в конструкторе. Не забыть написать деструктор, конструктор копии и перегрузку оператора присваивания. Определять 4-элементный массив из экземпляров этого класса.

Dev-c++.ввожу программу «Hello,world!».компилируется.
фраза не выводится.

вова, с угадыванием мыслей здесь совсем плохо... и с восстанавливанием текста программы путём прикладывания пальца к твоему нику — тоже ((

Алан
1.самая первая программа «Hello,world!»
2.нажимаю f9
3.программа компилируется
4.компилятор сообщает:ошибок 0
5.сохраняю
6.открываю
7.выскакивает окно Dev,а там программа
8.а мне надо что бы выскочил просто текст

(6). открываю

Что открываешь? Файл с исходным текстом программы?

Исполняемый файл имеет расширение .exe. Он должен появится после успешной компиляции.

PS. Кстати, рекомендую в Проводнике Windows отключить сокрытие расширений имён файлов для «известных» типов файлов.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.