|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.01.2010, 15:40 | #1 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
Задача на С++. Файлы, системы счисления.
Здравствуйте уважаемые участники форума!
Задача: числа читаются из файла (в файле числа в 10-чной системе), записываются в массив (в динамической памяти), далее пользователь должен ввести основание системы (можно ограничется основаниями 2-16), и в качестве результата программа должна вывести на экран (или в файл) все числа из массива, которые деляться без остатка на свои цифры в выбранной системе. Очень нужна помощь. Спасибо. |
05.01.2010, 19:13 | #2 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
В принципе основную часть я кое как осилю, но с системой счисления никак(
Последний раз редактировалось 15student89; 05.01.2010 в 20:20. |
05.01.2010, 20:06 | #3 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
|
06.01.2010, 23:04 | #4 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
Ну,может кто поможет, а?
Последний раз редактировалось 15student89; 07.01.2010 в 20:21. |
08.01.2010, 19:09 | #5 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
Осталось пара дней, помогите кто - нибудь Ничего не могу сделать ((
|
08.01.2010, 20:28 | #6 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
Начал ваять сам(
using namespace std; #include <iostream> #include <conio.h> #include <fstream> bool proverka(int i) { int g, k=i; if (i==0) return false; while (k!=0) { g=i%10; if (g==0) return false; else if(i%g==0) { k=k/10; continue; } else return false; } return true; } int main() { char fname[81], buf[81]; int a; cout << "Input file name: " ; cin >> fname; ifstream f(fname, ios::in); if (!f) { cout << "Error file open!" << endl; return 1; } int *array; array = (int*)malloc(10*sizeof(int)); // Совершенно не понимаю как это работает, и почему вообще работает!? int i=0; while (!f.eof()) { f >> array[i]; cout << array[i] << endl; i++; } cout << "-------------------------------------------------" << endl << endl; i=0; while (?) // Здесь должно быть условие типа "пока не конец массива", но массив то динамический (см. выше), да еще к томуже не понимаю как он устроен(. Короче, как сформалировать условие? { if (proverka(array[i])) cout << array[i] << endl; i++; } getch(); free(array); return 0; } |
08.01.2010, 20:35 | #7 |
Пользователь
Регистрация: 05.01.2010
Сообщений: 10
|
Сделал вот так:
int n=i; i=0; while (i<=n) { if (proverka(array[i])) cout << array[i] << endl; i++; } Примитивно, как мне кажется, но уже не важно, главное работает. Основная часть программы готова: числа читаются из файла, добавляются в массив, и проверяются на делимость в десятичной системе. Осталось написать функцию (логическую) проверяющую делимость чисел (на свои цифры) в системе с выбранным (введенным) основанием. Последний раз редактировалось 15student89; 08.01.2010 в 20:39. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Системы счисления | To4H9IK | Помощь студентам | 2 | 02.10.2009 17:12 |
Системы счисления. | glupayastudentka | Помощь студентам | 1 | 23.06.2009 22:00 |
Задача на С++ [Системы счисления] | Рустам | Помощь студентам | 9 | 29.11.2008 15:30 |
Задача на С++ [Системы счисления] | Рустам | Общие вопросы C/C++ | 1 | 28.11.2008 23:18 |