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

Поправьте код - C++

Восстановить пароль Регистрация
 
DaStAn1996
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 19
17.12.2013, 15:35     Поправьте код #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
#include<iostream>
#include<fstream>
#include<conio.h>
//#include<ctime.h>
#include<cstdlib>
 
using namespace std;
int main()
{
    int i = 0;
    int a[15];
    ofstream chisla("f.txt");
    for(i = 0;i<15;i++)
    {
            a[i]=rand()%15;
            chisla<<a[i]<<" ";
    }        
    chisla.close();
    ofstream chisla1("g.txt");
    ifstream chisla2("f.txt");
    for(int j = 0;j<15;j++)
    {
    chisla2>>a[j];
    //int j = 0;
        if ((i-j)!=0 && a[i]==a[j]) chisla1<<a[i]<<" ";
        //if (flag) cout<<a[i]<<" ";
    }
    chisla1.close();
    chisla2.close();
    cout<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 15:35     Поправьте код
Посмотрите здесь:

Поправьте пожалуйста код ... C++
Поправьте пожалуйста код C++
Поправьте код!!! C++
Поправьте код... C++
Поправьте пожалуйста код. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1808 / 1629 / 435
Регистрация: 15.12.2013
Сообщений: 5,800
17.12.2013, 15:48     Поправьте код #2
Насколько я понял ваша ошибка в том,что при сравнении двух значений, нет перебора по i.
DaStAn1996
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 19
17.12.2013, 16:18  [ТС]     Поправьте код #3
может быть....если можно переправьте код
Ev_Hyper
 Аватар для Ev_Hyper
1808 / 1629 / 435
Регистрация: 15.12.2013
Сообщений: 5,800
17.12.2013, 16:33     Поправьте код #4
Ну как-то вот так:
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
int main()
{
    srand(time(NULL));
    int i = 0,j=1;
    int a[15];
    bool ok=true;
    ofstream chisla("f.txt");
    for(i = 0;i<15;i++)
    {
            a[i]=rand()%15;
            chisla<<a[i]<<" ";
    }        
    chisla.close();
    ofstream chisla1("g.txt");
    ifstream chisla2("f.txt");
    for(j = 0;j<15;j++)
    {
    chisla2>>a[j];
    for(i=j+1;i<15;i++){
 
        if(a[i]==a[j]){ok=false;}
    }
    if(ok){ chisla1<<a[j]<<" ";}
    ok=true;
    }
    chisla1.close();
    chisla2.close();
    cout<<endl;
    system("pause");
    return 0;
}
Проверьте на всякий случай
Yandex
Объявления
17.12.2013, 16:33     Поправьте код
Ответ Создать тему
Опции темы

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