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

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

07.12.2009, 18:57. Просмотров 836. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2009, 18:57
Ответы с готовыми решениями:

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

Дан массив 4 на 4 из целых чисел, поменять местами элементы второй строчки с элементами четвёртой. Измененный массив вывести на экран в виде таблицы
Дан массив 4 на 4 из целых чисел, поменять местами элементы второй строчки с элементами четвёртой....

Вывести измененный массив на экран
предположим есть какой нить массив например 123456789 не важно какой потом изменяем его у нас...

Исключить из первого массива элемент с номером S и вывести измененный массив на экран
3. Создать с помощью генератора случайных чисел массив из дробей в диапазоне (-6 .. 6). Ввести с...

Отсортировать и вывести на экран массив структур
Помогите доделать программу, сам сделал что то,но то что это правильно сомневаюсь) В программе...

6
valeriikozlov
Эксперт С++
4693 / 2519 / 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
Эксперт С++
4693 / 2519 / 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
Эксперт С++
4693 / 2519 / 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
2366 / 1059 / 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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2009, 21:57

Отсортировать массив по возрастанию и вывести на экран
Дан одномерный массив, состоящий из N вещественных элементов. 1. Заполнить массив случайными...

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив?
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив,...

Отсортировать массив случайных чисел и вывести на экран
Помогите исправить! Сортировать по возрастанию #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...


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

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

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