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

Программа для создания бинарных файлов. Моя заполняет их рандомно, а надо, чтобы юзер сам вводил данные - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Необходимо узнать, кого с кем нужно дознакомить минимальное количество раз, чтобы все стали друзьями из одной "тусовоки" http://www.cyberforum.ru/cpp-beginners/thread882628.html
Входной файл: input.txt Выходной файл: output.txt Время на тест: 1 секунда На посвящение в студенты собрались все первокурсники. Некоторые из них знают друг друга. Считается, что два незнакомых человека тоже друзья, если у них есть какой-нибудь общий друг. Группа студентов, которые больше ни с кем не знакомы, называется "тусовкой". Студенты из различных "тусовок" не имеют общих знакомых....
C++ В массиве целых чисел необходимо заменить каждое число на другое из этого же массива, ближайшее большее по значению расположенное справа от заменяемог Входной файл: input.txt Выходной файл: output.txt Время на тест: 1 секунда В массиве целых чисел необходимо заменить каждое число на другое из этого же массива, ближайшее большее по значению расположенное справа от заменяемого и большее заменяемого, или на ноль при отсутствии такового. Формат входного файла: В первой строке входного файла input.txt записано число - количество чисел в... http://www.cyberforum.ru/cpp-beginners/thread882619.html
Вывести элементы массива в несколько строк по пять элементов в строке C++
Описать символьный массив L,размерностью M элементов,заполнять массив с клавиатуры.Вывести элементы массива в несколько строк по пять элементов в строке. ПОМОГИТЕ ПОЖАЛУЙСТААА си++
C++ Обработка побитовой информации задача
Спроектируйте в консольном режиме: • функцию, решающую задачу индивидуального задания с использованием только логических операций (функция1); • функцию, решающую задачу индивидуального задания с использованием только структурных битовых полей (функция 2); • функцию main(), которая обращается к одной из функций. Ввод и вывод информации сделайте в шестнадцатеричной системе счисления. ...
C++ На очередной ночной вечеринке факультета студенты в количестве N человек решили порассказывать байку из K слов и для этого сели в один круг вокруг кос http://www.cyberforum.ru/cpp-beginners/thread882608.html
Входной файл: input.txt Выходной файл: output.txt Время на тест: 9 секунд На очередной ночной вечеринке факультета студенты в количестве N человек решили порассказывать байку из K слов и для этого сели в один круг вокруг костра. Каждый человек называет по одному слову из байти. Человек, сказавший последнее слово байки уходит и рассказ повторяется со следующего за ним человека с самого начала....
C++ Задача по дискретной математике (написать программу для расшифровки числового ребуса) Надо написать программу для расшифровки числового ребуса: ссср=рф Если честно, я чёт даже не пойму чего от меня требуют. (У нас училка которая вела на больничном, её заменяют...) Добавлено через 1 час 15 минут Итак, так как я не дождался информации, то за это время я успел слепить вот это: #include "stdafx.h" #include <iostream> #include <math.h> подробнее

Показать сообщение отдельно
w0nder
 Аватар для w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
28.05.2013, 21:05     Программа для создания бинарных файлов. Моя заполняет их рандомно, а надо, чтобы юзер сам вводил данные
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h> 
#include <math.h>
 
using namespace std;
 
string genRecord(int recordsize) {
    string result;
 
    for ( int i = 0; i < recordsize; i++ ) {
        result += (char)('a'+rand()%26);
    }
 
    return result;
}
 
int hasDouble(string item, const string* records, int count) {
    int i;
 
    for ( i = 0; i < count && item != records[i]; i++);
 
    if ( i < count ) {
        return 1;
    } else {
        return 0;
    }
 
}
 
int main(int argc, char* argv[]) {
    if ( argc <= 3 ) {
        cout << "Usage: createfile filename recordsize count" << endl;
        return 0;
    }
 
    ofstream fout(argv[1]);
    int recordsize = atoi(argv[2]);
    int maxCount = pow(26, recordsize); //  максимальная длина последовательности неповторяющихся символов для recordsize
    int count = atoi(argv[3]);
    string* records = new string[count];
 
    if ( count > maxCount) {
        count = maxCount;
    };
 
    srand(time(NULL)); // random
    for ( int i = 0; i < count; i++ ) {
        string newrecord;
 
        for ( newrecord = genRecord(recordsize); hasDouble(newrecord, records, i); newrecord = genRecord(recordsize) ); 
 
        records[i] = newrecord;
    }
 
    // array sorting
    for( int i = 0; i < count; ++i) {
        int j;
        string s = records[i];
 
        for( j = i - 1; j >= 0 && records[j] > s; --j) {
                records[j + 1] = records[j];
        }
        records[j + 1] = s;
    }
 
    
    for ( int i = 0; i < count; i++ ) {
        fout.write(records[i].c_str(), recordsize);
    }
 
    fout.close();
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru