Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Не отображается меню, а сразу включается подпрограмма http://www.cyberforum.ru/c-beginners/thread898924.html
не отображает меню, а сразу включается подпрограмма. что не так? void main() { clrscr(); printf("\t\tDlya prodolzeniay naxmite Enter, dla vixoda Esc\n"); while(!exit) { ...
C (СИ) На экран выводится "мусор"
Вместо создаваемого массива выводит на экран "мусор" какой-то. Не пойму, что не так... #include<stdio.h> #include<conio.h> #include<iostream> int main(void) { int n, m, i, j; ...
C (СИ) Не понятна данная строка int k = (i > j) ? 10 : 50;
Доброго дня, уважаемые форумчане. Сейчас изучаю книгу Аарона Хиллегасса по C и Objective-C. Запутался на упражнении с тернарным оператором... Вот само упражнение: Имеется следующий фрагмент...
C (СИ) Вывести на печать значения четвертого и шестнадцатого отрицательного элемента массива для заданого масиву В(21) вивести на друк значення четвертого і шостого від'ємного елементу цього масиву і іх порядковий номер в масиві http://www.cyberforum.ru/c-beginners/thread898679.html
C (СИ) Определить имеются ли одинаковые цифры в двух числах http://www.cyberforum.ru/c-beginners/thread898560.html
Ввести два числа N<65000. Определить имеются ли в них одинаковые цифры и сколько. Предусмотреть повторение выполнения программы. В общем я немного написал, что думал, но не могу понять что не так....
C (СИ) Сформировать вектор по правилу
Дано одновимірний масив В, який складається з 15 елементів. Сформувати вектор А, першим елементом якого є найменше число, а насупні елементи вектора А - числа, які знаходяться за найменшим елементом...
C (СИ) Создать программу для проверки вхождения одной строки в большую
Создать программу для проверки вхождения одной строки в большую
C (СИ) Создать программу для создания и вывода на экран типизированного файла Создать программу для создания и вывода на экран типизированного файла http://www.cyberforum.ru/c-beginners/thread898418.html
C (СИ) Создать программу для работы с прямоугольниками http://www.cyberforum.ru/c-beginners/thread898417.html
Создать программу для работы с прямоугольниками
C (СИ) Создать программу для работы с массивами структур - создание и вывод на экран Создать программу для работы с массивами структур - создание и вывод на экран http://www.cyberforum.ru/c-beginners/thread898416.html
anmartex
...
1790 / 1258 / 931
Регистрация: 12.02.2013
Сообщений: 2,058
12.06.2013, 10:27 0

Сортировка данных в структуре

12.06.2013, 10:27. Просмотров 491. Ответов 4
Метки (Все метки)

Ответ

Не обижайтесь, но код хилый. Поправил всё то, что явно в глаза бросалось.
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
 
typedef struct NOTE
{
   char Surname[20];
   char Name[20];
   int Nomer;
   char Birth[50];
}  NOTE;
 
int compare(const void* stud1, const void* stud2)
{
   return ((NOTE*)stud1)->Nomer < ((NOTE*)stud2)->Nomer;
}
 
int main()
{
   setlocale(LC_ALL, "Russian_Russia.1251");
   int n, i;
   char g[20];
   printf("Введите количество студентов n = ");
   scanf("%d", &n);
   NOTE* tr = (NOTE*) malloc(sizeof(NOTE) * n);
   for (i = 0; i < n; i++)
   {
      printf("%d-й студент: ", i + 1);
      scanf("%s", tr[i].Surname);
      scanf("%s", tr[i].Name);
      printf("\nВведите номер телефона: (098)");
      scanf("%d", &tr[i].Nomer);
      printf("\nВведите дату рождения: ");
      scanf("%s", tr[i].Birth);
   }
   qsort(tr, n, sizeof(NOTE), compare);
   printf("\nСтуденты отсортированы по номерам телефонов\n");
   for (i = 0; i < n; i++)
   {
      printf("%10s %10s %3d %s\n", tr[i].Surname, tr[i].Name, tr[i].Nomer, tr[i].Birth);
   }
 
   int count = 0;
   scanf("%10s", g);
   for (i = 0; i < n; i++)
   {
      if (strcmp(g, tr[i].Surname) == 0)
      {
         printf("%10s %10s %3d %s\n", tr[i].Surname, tr[i].Name, tr[i].Nomer, tr[i].Birth);
         count++;
      }
   }
 
   if (count == 0)
   {
      printf("Нет студентов с данной фамилией");
   }
   free(tr);
 
   return 0;
}


Вернуться к обсуждению:
Сортировка данных в структуре
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2013, 10:27

Хранение бинарных данных в структуре
У меня есть 8 флагов, как лучше их хранить в одной стуктуре, чтобы при этом было удобно смотреть...

Задать функцию, которая выполняет ввод данных по структуре
Необходимо задать функцию, которая выполняет ввод данных по структуре. Не очень понимаю, что должна...

Сортировка в структуре "Автомобиль"
int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, &quot;rus&quot;); const int n = 6; int...

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