Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 97

файл с данными о росте каждого из 25 учеников класса(Ошибка)

27.12.2016, 01:45. Показов 1878. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дан типизированный файл с данными о росте каждого из 25 учеников класса ни одна пара учеников не имеет одинакового роста. Упорядочить файл по убыванию роста учеников

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
#include <fstream>
#include <iostream>
#include <cstdlib> 
 
#define SIZE 100
using namespace std;
 
 
//прочитать данные из файла в массив
int main(int min)
{
    ifstream input_file("int.txt");
    char line[SIZE];
    while (!input_file.eof())
    {
        input_file.getline(line, sizeof(line));
        cout << line << endl;
    }
 
    //упорядочить массив
    int i, j;
    for (i = 0; SIZE > i; i++)
    {
        min = line[i];
        for (j = i; SIZE > j; j++)
        {
            if (min > line[j]) min = line[j];
        }
        line[i] = min;
    }
 
    //записать массив в файл
    ofstream infile("out.txt");
    infile.is_open();
    infile << " " << endl;
 
    for (int i = 0; i < SIZE; i++)
    {
        for (int j = 0; j < SIZE; j++)
        {
            infile << line[i][j] << " ";
            {
                infile << endl;
            }
 
            system("pause");
            return 0;
        }
    }
}
не сортируется

Добавлено через 1 минуту
то есть выводит то что есть в текстовике

Добавлено через 41 минуту
ребят мож поможете? я и так заебался с этим заданием

Добавлено через 16 минут
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
#include <fstream>
#include <iostream>
#include <cstdlib> 
 
#define SIZE 100
using namespace std;
 
 
//прочитать данные из файла в массив
int main(int min)
{
    ifstream input_file("int.txt");
    char line[SIZE];
    while (!input_file.eof())
    {
        input_file.getline(line, sizeof(line));
        cout << line << endl;
    }
 
    //упорядочить массив
    for (int i = 1; i < SIZE; ++i)
    {
        for (int r = 0; r < SIZE - i; r++)
        {
            if (line[r] < line[r + 1])
            {
                int temp = line[r];
                line[r] = line[r + 1];
                line[r + 1] = temp;
            }
        }
    }
 
    //записать массив в файл
    ofstream infile("out.txt");
    infile.is_open();
    infile << " " << endl;
    for (int i = 0; i < SIZE; ++i)
    {
        cout << line[i] << " ";
    }
    cout << endl;
    
    system("pause");
            return 0;
}
Добавлено через 15 секунд
не сортируется

Добавлено через 1 минуту
я тут что дневник по программированию пишу?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2016, 01:45
Ответы с готовыми решениями:

Известен рост каждого из 25 учеников класса. Нет ни одной пары учеников, имеющих одинаковый рост. Определить:
Известен рост каждого из 25 учеников класса. Нет ни одной пары учеников, имеющих одинаковый рост. Определить:фамилии двух учеников...

Дан типизированный файл с данными о росте. Используя метод двоичного поиска вывести фамилию по росту
С++ дан типизированный файл с данными о росте 25 учеников.Используя метод двоичного поиска вывести фамилию по заданному росту.Помогите...

Известен рост каждого из 20 учеников класса
Известен рост каждого из 20 учеников класса. Рост мальчиков условно за-дан отрицательными числами. Выяснить, верно ли, что средний рост...

4
7 / 7 / 4
Регистрация: 10.05.2015
Сообщений: 55
27.12.2016, 01:59
Во-первых, переменной min присваивается один байт из массива char line. Некорректная сортировка получается. Думаю лучше сделать массив (int или double) и считывать данные в него. Можно следующим способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define SIZE 100
#define MAX_SIZE_VALUE 3
#define NUMBER_VALUES 25
using namespace std;
 
 
//прочитать данные из файла в массив
int main()
{
    int min = 0;
    ifstream input_file("int.txt");
    int values[NUMBER_VALUES];
    int index_values = 0;
    int real_number_of_values = 0;
    while (!input_file.eof())
    {
        char tmp_value[MAX_SIZE_VALUE];
        input_file.getline(tmp_value, sizeof(MAX_SIZE_VALUE), ' ');
        values[index_values] = atoi(tmp_value);
        cout << values[index_values++] << endl;
    }
    input_file.close();
    real_number_of_values = index_values;
. А затем выполнять сортировку. Алгоритмов сортировок полно.
Во-вторых, входной параметр в функции main - не нужен. Его следует объявить в теле функции.
В-третих, вывод можно выполнить следующим способом:
C++
1
2
3
4
5
6
7
8
9
10
11
    ofstream infile("out.txt");
    if (infile.is_open())
    {
        index_values = 0;
        while (index_values < real_number_of_values)
        {
            infile << values[index_values++] << " ";
        }
        infile << " " << endl;
    }
    infile.close();
P.S. Переменную real_number_of_values можно не использовать, если в файле всегда 25 значений.
1
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 97
27.12.2016, 02:21  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 1; i < SIZE; ++i)
    {
        for (int r = 0; r < SIZE - i; r++)
        {
            if (line[r] < line[r + 1])
            {
                int temp = line[r];
                line[r] = line[r + 1];
                line[r + 1] = temp;
            }
        }
    }
А чем эта сортировка не та?

Добавлено через 3 минуты
и вместо line будет values[index_values++]?

Добавлено через 2 минуты
просто в сортировке запутался и многое непонятно

Добавлено через 2 минуты
и то что я пишу
прочитать данные из файла в массив будет выводиться ноль?
0
7 / 7 / 4
Регистрация: 10.05.2015
Сообщений: 55
27.12.2016, 03:26
M-DRAGNIL,
Я разве говорил, что это не та? Просто есть и другие сортировки более эффективные ( для развития кругозора).
Будет так
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 1; i < SIZE; ++i)
    {
        for (int r = 0; r < SIZE - i; r++)
        {
            if (values[r] < values[r + 1])
            {
                int temp = values[r];
                values[r] = values[r + 1];
                values[r + 1] = temp;
            }
        }
    }
Цитата Сообщение от M-DRAGNIL Посмотреть сообщение
и то что я пишу
прочитать данные из файла в массив будет выводиться ноль?
Что это значит?
0
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 97
27.12.2016, 14:47  [ТС]
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
#include <fstream>
#include <iostream>
#include <cstdlib> 
#define SIZE 100
#define MAX_SIZE_VALUE 3
#define NUMBER_VALUES 25
using namespace std;
 
 
int main()
{
    int min = 0;
    ifstream input_file("int.txt");
    int values[NUMBER_VALUES];
    int index_values = 0;
    int real_number_of_values = 0;
    while (!input_file.eof())
    {
        char tmp_value[MAX_SIZE_VALUE];
        input_file.getline(tmp_value, sizeof(MAX_SIZE_VALUE), ' ');
        values[index_values] = atoi(tmp_value);
        cout << values[index_values++] << endl;
    }
    input_file.close();
    real_number_of_values = index_values;
 
 
    for (int i = 1; i < SIZE; ++i)
    {
        for (int r = 0; r < SIZE - i; r++)
        {
            if (values[r] < values[r + 1])
            {
                int temp = values[r];
                values[r] = values[r + 1];
                values[r + 1] = temp;
            }
        }
    }
 
 
 
 
 
    ofstream infile("out.txt");
    if (infile.is_open())
    {
        index_values = 0;
        while (index_values < real_number_of_values)
        {
            infile << values[index_values++] << " ";
        }
        infile << " " << endl;
    }
    infile.close();
    system("pause");
    return 0;
}
то есть вот так

Добавлено через 19 секунд
но всё равно не сортируется

Добавлено через 5 минут
и для чего min?

Добавлено через 4 часа 0 минут
ребят ну помогите мне
все равно не сортируется

Добавлено через 4 минуты
и потом программа выбивается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.12.2016, 14:47
Помогаю со студенческими работами здесь

Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников
В массиве записана информация о росте каждого из 25 учеников класса (в порядке убывания роста). Один из учеников из класса выбыл. Получить...

Организовать файл, содержащий рост каждого из 25 учеников класса
Плиз. Нужна помощь!!! Организовать файл, содержащий рост каждого из 25 учеников класса. Ни одна пара учеников не имеет одинакового роста....

Известны оценки по информатике каждого из 20 учеников класса
3. Известны оценки по информатике каждого из 20 учеников класса. В начале списка перечислены все пятерки, затем все остальные оценки....

Определить средний рост учеников каждого класса
ЦИКЛ С ПАРАМЕТРОМ Известен рост каждого ученика двух классов. Определить средний рост учеников каждого класса Код в делфи

Определить средний рост учеников каждого класса.
Известен рост каждого ученика двух классов. Определить средний рост учеников каждого класса. Численность обоих классов одинаковая.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »