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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61
#1

Индексация. - C++

03.11.2010, 08:25. Просмотров 727. Ответов 2
Метки нет (Все метки)

Народ объясните туповатому студенту
задание такое
Создать некую библиотеку должников где есть поля: имя,книга и дата
Записей должно быть не менее 10,и все эти записи с помощью индексов и фильтров
отсортировать по имени по убыванию,как отсортировать и вывести я знаю,а как работать через фильтры и индексы до меня в упор не доходит,объясните на пальцах,очень прошу.
вот что сделала
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
using namespace std;
const int n=10;
struct BIBL
{
char name[20];
char kniga[10];
char dat[10];
};
BIBL stud[n];
int add()
{
        ifstream fil("input.txt");  
        int i=0;    
        while(!fil.eof())
        {  
                fil>> stud[i].name >> stud[i].kniga >> stud[i].dat ;   
                i++;    
        }   
        while(i--)
        { 
                printf("имя  %s книга  %s дата  %s\n",stud[i].name,stud[i].kniga,stud[i].dat);  
        }
        return 0;
}
int main ()
{
   setlocale(LC_ALL, "rus");
   add();
 
   getch();
}
Добавлено через 9 часов 34 минуты
неужели никто не может объяснить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2010, 08:25     Индексация.
Посмотрите здесь:

Индексация - C++
Помогите разобраться. Нужно написать программу на C++, осуществляющую создание индексированного файла с данными о студентах (пусть их...

Индексация в массивах c++ - C++
Здравствуйте, уважаемые участники форума! Написал скрипт в матлабе. Необходимо теперь его реализовать на c++. Проблема в том, что в одном...

Индексация массива - C++
Ребят еще такой вопрос есть формула выглядит в след виде: сумма (k/(Xк+k)) где k=1,2,3,4...n. Сумму нужно посчитать циклически, но вопрос в...

Индексация массива C++ - C++
Форум,привет. Повесили мне тут задачу, причем на плюсах делать надо. Суть: идет бесконечная строка символов, из которой отсеиваются только...

Индексация элементов массива - C++
Всем привет! Есть следующий код: const double c = { // particle velocities {0, 0}, // zero {1,...

Индексация вектора структур - C++
Здравствуйте! Возник следующий вопрос: Почему при попытке создания массива индексов (indexArray) не выходит сохранить в него...

Индексация двухмерного массива char - C++
Подскажите пожалуйста, как правильно передать в функцию указатель на двухмерный массив char и как его индексировать? Спасибо.

Индексация массивов с помощью указателей - C++
Не смог понять логику вот этой программы, связанной с объявлением массивов через указатель: #include <iostream> ...

Индексация массива в динамической памяти - C++
Всем привет! Вроде очень простой вопрос, но я не смог найти на него ответа. Вот код: #include <iostream> using namespace std; ...

Индексация массивов, арифметика указателей - C++
инициализирую одномерный массив и делаю на него указатель const int N = 6; int X = {9,3,2,3,6,8}; int *mas = X; ...

Индексация динамических массивов как она работает в С++? - C++
Во всех книгах по крайней мере которые мне встречались массив например mass при инициализации i указывает количество строка а j...

Медленнее ли индексация массива, чем работа с указателем? - C++
Преподаватель донимает меня, что я использую индексацию для работы с массивами, вместо того, чтобы использовать смещение и разъименовывание...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
03.11.2010, 08:42     Индексация. #2
Индекс это дополнительное числовое поле, связанное с записью, грубо говоря у тебя есть список из 10 позиций и они пронумерованы от 1 до 10, вот этот номер и есть индекс, т.е. число уникальным образом характеризующее каждую запись.

Ну а фильтр это просто способ выборки, т.е. указать не полную фамилию должника, а например "*нов", и найдутся все из списка "Иванов", "Петров", "Сидоров".
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61
03.11.2010, 20:26  [ТС]     Индексация. #3
написала функцию которая должна проиндексировать каждую запись в массиве,но на выходе ,то есть при распечатке выводится одна и та же запись 10 раз,почему она мотает одну и ту же я не понимаю,делала по шагам там видно что на вход получает новую запись,даёт ей свой индекс,но в конце всё равно результат другой,где теряется не знаю(,помогите пожалуста разобраться
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
using namespace std;
const int n=10;
struct BIBL
{
char name[20];
char kniga[10];
char dat[10];
};
BIBL stud[n];
struct indexz{
    char key[50];
    int a[6];
};
 
 
indexz index[5];
int indexsize=0;
int k=0;
int add(BIBL ab,int num)
{
    
    int i;
        for (i=0; i<10; i++)
        {
            if (strcmp("",index[i].key)==0)
            {
                strcpy(index[i].key,ab.name);
                index[i].a[k]=num; 
                indexsize=i+1;
                k++;
                break;
            }
        }
    
 
    return 0;
}
int print()
{
    int k;
        
       for(int i=0;i<10;i++)
            {
                cout << " имя "<<stud[index[i].a[k]].name<<endl;
                cout << " адрес "<<stud[index[i].a[k]].kniga<<endl;
                cout << " телефон "<<stud[index[i].a[k]].dat<<endl;
                k++;
    
            }
 
    return 0;
}
int student()
{
            ifstream fil("input.txt");  
        int i=0;    
        while(!fil.eof())
                {  
                fil>> stud[i].name >> stud[i].kniga >> stud[i].dat ;   
                add(stud[i],i);
                i++;    
        }   
        while(i--)
                { 
                printf("имя  %s книга  %s дата  %s\n",stud[i].name,stud[i].kniga,stud[i].dat);  
        }
                return 0;
}
int main ()
{
   setlocale(LC_ALL, "rus");
   student();
  print();
 
   getch();
}
Yandex
Объявления
03.11.2010, 20:26     Индексация.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru