Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
BOR1K
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
1

Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран

07.12.2009, 18:57. Просмотров 752. Ответов 6
Метки нет (Все метки)

Есть задание.

Структура Journal хранит информацию о студентах группы: Family, Name, Curs, Group, Count (количество пропущенных часов), Month (месяц - перечисление).

1. Описать пользовательский тип данных структуру (согласно варианту)
2. Объявить массив структур (не менее 10 элементов)
3. Инициализировать элементы с помощью датчика случайных чисел (где возможно)
4. Вывести на экран массив
5. Найти количество элементов массива с некоторым значением, заданным пользователем (для фиксированного поля структуры) и вывести найденное значение на экран
6. Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран


1-4 я сделал.

Незнаю как реализовать 5-6. Помогите пожалуйста. В долгу не останусь. Все темы освоил блин, а структуры не понимаю(

Добавлено через 12 минут
Как сделать что-бы
C
1
2
for(int i=0;i<10;i++)
    m[i].Curs=rand();
рандом был не больше 5???
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2009, 18:57
Ответы с готовыми решениями:

Отсортировать массив и вывести на экран
массив 20 чисел массив вводить рандомом отсортировать массив и вывести на экран

Отсортировать массив объектов пользовательского типа по заданному полю
3.1. Написать программу, работающую с базой данных в виде мас- сива структур и...

Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив по возрастанию
1. Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив...

Массив: вывести на экран новый массив, который формируется по правилу: А0 А1 Аn-1 Аn-2 А2 А3...
Здравствуйте, помогите мне пожалуйста, с решением одной задачи. Дан массив с...

Функция, возвращающая измененный массив
Как определить функцию, возвращающую модифицированный массив? Например: ...

6
valeriikozlov
Эксперт С++
4688 / 2514 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2009, 20:07 2
Как сделать что-бы
Код C1
2 for(int i=0;i<10;i++)
m[i].Curs=rand();

рандом был не больше 5???
http://www.cyberforum.ru/cpp-beginners/thread44753.html
В этом разделе: "в заданном диапазоне"
0
BOR1K
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
07.12.2009, 20:15  [ТС] 3
Что-то уж больно много кода там(
0
valeriikozlov
Эксперт С++
4688 / 2514 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2009, 20:19 4
BOR1K, в каких пределах нужно случайное число?
0
BOR1K
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
07.12.2009, 20:35  [ТС] 5
до 5, 31.
0
valeriikozlov
Эксперт С++
4688 / 2514 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2009, 20:41 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdlib.h>
#include <time.h>
 
int main() {
srand( time( NULL ) );
 int a=5+rand()%(27);
 printf("%d\n", a);
 
 
return 0;
 
}
Это из той ссылки, что я давал, для твоего диапазона
1
Rififi
2364 / 1057 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
07.12.2009, 21:57 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

BOR1K,

Допустим структура такая:
C++
1
2
3
4
5
6
7
8
9
10
struct Dunce
{
   std::string name; // будем работать с этим полем
   int age;
   // остальное несущественно
    friend std::ostream& operator << (std::ostream& os, const Dunce& d)
    { return os << d.name << std::endl; }
};
 
Dunce dunces[100];
5. Найти количество элементов массива с некоторым значением, заданным пользователем (для фиксированного поля структуры) и вывести найденное значение на экран

Выводим всех Петь:
C++
1
2
3
4
5
6
7
typedef std::ostream_iterator<Dunce> O;
 
std::remove_copy_if(
    dunces, dunces+100,
    O(std::cout),
    [](const Dunce& d) { return d.name != "Петя"; }
    );
6. Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран

C++
1
2
3
4
std::sort(dunces, dunces+100,
    [](const Dunce& d1, const Dunce& d2) { return d1.age < d2.age; }
    );
std::copy(dunces, dunces+100, O(std::cout));
1
07.12.2009, 21:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2009, 21:57

Как сделать, чтобы в ответе программа выводила измененный массив?
Дан массив из целых чисел А(5 х 5). Заменить максимальный элемент каждой...

Разделить массив на два отдельных массива, отсортировать один массив по убыванию, а второй - по возрастанию
Помогите пожалуйста. Дан массив из 20 целых чисел, расположенных в случайном...

Сведения о студентах. Массив а отсортировать по ФИО, а массив в по успеваемости
Здравствуйте. Необходимо создать два массива структур а и в, содержащих...


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

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

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