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

Считать данные из файла в динамический массив соответствующего типа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Погрешность интерполяции на C++ http://www.cyberforum.ru/cpp-beginners/thread305474.html
написал код для интерполяционного полинома Ньютоно, он работает правильно, но вот никак не могу разобратса как обчислить его погреность погреность находитса за данной формулой http://s2.itrash.ru/idb/f7664d3b17e3356d6a15d474a63960d7/odefault.gif где http://saveimg.ru/pictures/26-05-11/a2dfadbab7ea25838abc34d76f533340.gif как я понимаю тут f n+1 (x) это производная n+1 куда ми подставляем...
C++ Двудольный граф?? Проверка является ли граф двудольным)) http://www.cyberforum.ru/cpp-beginners/thread305444.html
C++ Корректный ввод структуры и ее обработка
Добрый день. Есть вопрос, как мне правильно ввести структуру, что бы потом корректно с ней работать. Задание:Нужно составить структуру данных и организовать соответствующую обработку данных. На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе был проведен мониторинг цены бензина на различных АЗС. Напишите программу, которая будет определять для каждого...
Последовательность C++
Даны натуральные числа n, а1 ..., an. Получить произведение членов последовательности а1, ..., an, удовлетворяющих условию 2^n<an<n! Только не через массив, а цикл for Помогите, пожалуйста, написать код. Спасибо
C++ Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент http://www.cyberforum.ru/cpp-beginners/thread305427.html
Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент
C++ Программа тестирования, не могу разобрать свои косяки :(. Добрый день. очень нужна помощь. Стояла задача написать программу тестирования, корорая подсчитывает баллы за правильные ответы через ООП. Код который написал ниже. Дальше косяк, не знаю что делать. Во первых, не могу разобраться с функциями гет и гетлайн и тп. :( необходимо чтобы вывелся вопрос, варианты ответов. после того как в веду ответ должен вывестись следующий вопрос с вариантами... подробнее

Показать сообщение отдельно
Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
16.06.2011, 12:04     Считать данные из файла в динамический массив соответствующего типа
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include "stdafx.h"
#include <stdlib.h>
 
// создаю структуру - элемент очереди.
struct elem 
{
   int d;//Хранимая цифра.
   elem * next_elem;//Указатель на сл. элемент
   elem()//Конструктор по умолчанию. Вызывается при создании нового элемента очереди.
   {
           next_elem = NULL;
   }
 
};
//структура-очередь. У очереди добавление элемента происходит с одного конца, а удаление с другого. Для этого храню указатели на оба конца.
struct list
{
        elem * first_elem;
        elem * last_elem;
        list()//Конструктор по умолчанию. 
        {
                first_elem = last_elem = NULL;
        }
};
 
//Добавление в очередь элемента с заданной цифрой.
bool add(list ** l,int d)
{
        elem * new_elem = new elem();//Создаю новый элемент очереди.
        if(new_elem == NULL)//Проверяю, создан ли он.
                return false;
        new_elem->d = d;//Присваиваю цифре элемента значение заданной цифры.
        if((*l)->last_elem)//Проверяю, есть ли в очереди другие элементы.
                (*l)->last_elem->next_elem = new_elem;//Если есть, то делаю новый элемент потомком последнего элемента.
        else
                (*l)->first_elem = new_elem;//Если нет, то делаю новый элемент первым в очереди.
        (*l)->last_elem = new_elem;//Делаю новый элемент последним в очереди.             
        return true;
}
//Добавление в очередь уже существующего элемента.
void add(list ** l,elem * new_elem)
{
        new_elem -> next_elem = NULL;//Нам не нужны его потомки.
        if((*l)->last_elem)
                (*l)->last_elem->next_elem = new_elem;
        else
                (*l)->first_elem = new_elem;
        (*l)->last_elem = new_elem;             
}
//Удаление элемента.
void del (list ** l)
{
        if((*l)->first_elem)//Удаление происходит если очередь не пуста.
        {
                elem * ptr = (*l)->first_elem;//Сохраняю указатель на первый элемент.
                (*l)->first_elem = (*l)->first_elem->next_elem;//Делаю второй элемент в очереди первым.
                delete ptr;//Освобождаю память из под первого элемента.
        }
}
//Разбиваю по двум др. очередям.
void sort(list ** l_1,list ** l_2,list ** l_3)
{
        int i = 1;//Порядковый номер элемента. 
        elem * ptr = (*l_1)->first_elem;//Создаем указатель и присваиваем ему значение первого элемента очереди.
        while(ptr)//Проверяем, существует ли элемент.
        {
                if(i%2)//Если порядковый номер элемента кратен 2, то добавляем в первый список.
                        add(l_2,ptr);
                else//Если нет, то добавляем в второй список.
                        add(l_3,ptr);
 
                ptr = ptr->next_elem;//Переходим к сл.элементу очереди.
                ++i;//Увеличиваем номер элемента.
        }
}  
 
int main(int argc, char *argv[])
{
//Создаем 3 очереди.
        list * l = new list();
        list * l_1 = new list();
        list * l_2 = new list();
//Добавляем элементы в первую.
        for(int i = 0; i < 10; ++i)
        {
                if(!add(&l,rand()))
                        printf("Add() error\n");
        }
//Выводим первую очередь.
        elem * ptr = l->first_elem;
        while(ptr)
        {
                printf("%d\n",ptr->d);
                ptr = ptr->next_elem;
        }
//Разкидываем по 2 ост.очередям.
        sort(&l,&l_1,&l_2);
 
        printf("\n\n");
//Выводим остальные 2 очереди. 
        ptr = l_1->first_elem;
        while(ptr)
        {
                printf("%d\n",ptr->d);
                ptr = ptr->next_elem;
        }
 
        printf("\n\n");
 
        ptr = l_2->first_elem;
        while(ptr)
        {
                printf("%d\n",ptr->d);
                ptr = ptr->next_elem;
        }
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru