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

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

Войти
Регистрация
Восстановить пароль
 
Мария91
7 / 6 / 0
Регистрация: 10.01.2010
Сообщений: 57
#1

Организовать массив из всех элементов из файла - C++

12.12.2010, 19:24. Просмотров 342. Ответов 0
Метки нет (Все метки)

всем доброго времени суток!

задали такую задачу:

Дан текстовой файл,содержащий неупорядоченные записи элементов (фамилия студента, год рождения, средний бал успеваемости). Необходимо:
1)Организовать массих всех элементов из файла.
2)Создать упорядоченный по фамилии, году, баллу список.
3)Вывести на печать элементы исзодного массива.
4)Вывести упорядоченный список

1) и 3) я вроде как сделала. Он у меня читает из файла что написано и выдает на экран.

Вопросы,естественно остаются по 2 и 3 заданию. Может ли кто помочь, как то подсказать, с чего хоть начать?

Заранее огромное спасибо!

вот, собственно, решение двух заданий, у меня все работает:

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
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
struct stud
{
        char *name;
        int year;
        float mark;
};
void print(stud*m,int i)
{
        for(int j=0;j<i;j++)
                cout<<m[j].name<<" "<<m[j].year<<" "<<m[j].mark<<endl;
}
int main()
{
        ifstream file("stud.txt");
        char name[20];
        stud mas[30];
        int i=0;
        while(1)
        {
                file>>name;
                if(file.eof())
                        break;
                mas[i].name=new char[strlen(name)+1];
                strcpy(mas[i].name,name);
                file>>mas[i].year>>mas[i].mark;
                i++;
        }
        print(mas,i);
        getch();
        return 0;
}
//---------------------------------------------------------------------------
Добавлено через 57 секунд
Ах,да,и как видите, здесь надо чтобы были задействованы структуры(ну начало у меня уже есть)

Добавлено через 17 часов 51 минуту
в файле текст такого типа:
"petrov 1993 4.3
ivanov 1991 3.7
baranov 1992 4.8"

Сначала надо чтоб выдал отсортированный список по фамилии, затем отдельный список по году и отдельно по оценке.

По идее, чтобы отсортировать по фамилии, надо прочесть только первый символ фамилии. Это нужно сделать в цикле for, да? и обращаться к элементам типа .name? только я не пойму, а как он будет перемещать целые строки?, не сделается ли тогда допустим так:


"baranov 1993 4.3
ivanov 1991 3.7
petrov 1992 4.8" т.е. фамилии переместит, а год рождения и отметка останутся на месте?

Добавлено через 9 часов 13 минут
я вот сделала такую ф-ю:

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void sort(stud*m,int i)
{
 
        for(int j=0; j<i; j++)
        {
                for(int k=(j+1); k<i; k++)
                {
                        if(m[j].name<m[k].name)
                        {
                        char *temp;
                        temp=m[j].name;
                        m[j].name=m[k].name;
                        m[k].name=temp;
 
                        }
                }
        }
}
почему то проходит только один круг

Добавлено через 1 минуту
тоесть получается -
петров
иванов
баранов
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 19:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организовать массив из всех элементов из файла (C++):

Записать в массив B длины всех серий исходного массива, а в массив C - значения элементов, образующих серии - C++
Ребята выручите пожалуйста) 1)Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной...

Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов - C++
Задан одномерный массив, содержащий n элементов. определить, сколько раз в нём встречается максимальное значение. Задан одномерный...

Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива - C++
Помогите написать код, пожалуйста Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива

Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех - C++
Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех положительных чисел. Вот...

Создайте двумерный массив целочисленный массив А[1..10], [1..7] и найдите сумму всех его элементов имеющие оба нечетные индексы. - C++
Создайте двумерный массив целочисленный массив А, и найдите сумму всех его элементов имеющие оба нечетные индексы. За ранее Благодарю

Написать программу, вычисляющую среднее арифметическое всех элементов массива из 200 элементов. Массив заполняется случайными числами - C++
сделaй их nested: http://www.dansteinman.com/dynduo/en/nesting.html

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 19:24
Привет! Вот еще темы с ответами:

Дано одномерный массив Р, который состоит из 12 элементов. Вычислить сумму модулей всех от "объемных элементов * превышающих числа А (А = 1.25) - C++
Помогите пожалуйста с задачкой Дано одномерный массив Р, который состоит из 12 элементов. Вычислить сумму модулей всех от &quot;объемных...

Программа должна считать сумму всех элементов файла - C++
Программа должна считать сумму всех элементов файла р1. Но при компиляции выдает ответ 0. В чем может быть ошибка? #include &lt;iostream&gt;...

создать массив из всех элементов таблицы ASCII - C++
Доброго всем здравия, научите как создать такой символьный массив.

Массив: Сосчитать сумму всех элементов массива - C++
Сосчитать сумму всех элементов массива


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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