Форум программистов, компьютерный форум CyberForum.ru

массивы. в чем ошибка? - C++

Восстановить пароль Регистрация
 
BezProgramm
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 20
19.11.2013, 14:57     массивы. в чем ошибка? #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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include<iostream>  
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include<ctype.h>
#include<stdlib.h>
#include<windows.h>
#include<fstream> 
using namespace std;
ifstream file("rez.txt");
int main()
{   
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
    do
    {
int a;
cout <<"Введите размер массива: ";
cin>>a;
ofstream of;
of.open("rez.txt");
cout << "Введите диапазон случайных чисел (m,n): ";
int m,n;
cin>>m>>n;
if(m > n)
{
    int tmp = n;
    n = m;
    m = n;
}
int* massiv=new int[n];
for(int i=0; i<=n; i++)
{
    massiv[i]=rand()%(n-m)+m;
    for(int j=2; j<=massiv[i]; j++)
    {
        if(massiv[i]%j==0)
        {
            of<<massiv[i]<<endl;
        }
        cout<<massiv[i]<<endl;
    }
}
cout<< "Смотрите результат работы программы в файле \"rez.txt\"";
}while(_getch()!=27);
    return 0;
}
Вот задание: Написать программу, которая заполняет линейный массив, размер которого задается с клавиатуры, случайными натуральными числами в заданном диапазоне, выводит полученный массив на экран и записывает в файл те элементы, которые являются простыми числами.

В моей программе он выводит много больше чисел,чем я задаю. Например в массиве размером 10 он записывает примерно 14 чисел,притом они повторяются. В чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2013, 14:57     массивы. в чем ошибка?
Посмотрите здесь:

Чем характерны локальные массивы? C++
C++ Указатели и массивы- в чем разница?
В чем ошибка? (Строки. Массивы. Указатели) C++
В чем ошибка? Динамические массивы C++
Чем отличаются динамические массивы от статических? C++
C++ Указатели на массивы: В чем принципиальное различие между объявлениями указателей?
В чем ошибка? Массивы и функции C++
Ошибка 2 error LNK2019, не пойму в чем ошибка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
19.11.2013, 15:03     массивы. в чем ошибка? #2
BezProgramm,
по моему проблема в
C++
1
2
3
4
5
6
7
8
for(int j=2; j<=massiv[i]; j++)
    {
        if(massiv[i]%j==0)
        {
            of<<massiv[i]<<endl;
        }
        cout<<massiv[i]<<endl;
    }
я не совсем понял вот этот кусок алгоритма
Yandex
Объявления
19.11.2013, 15:03     массивы. в чем ошибка?
Ответ Создать тему
Опции темы

Текущее время: 09:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru