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

Мне необходимо отсортировать записи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос о динамическом выделении памяти для строки http://www.cyberforum.ru/cpp-beginners/thread21458.html
Как можно реализовать динамическое выделение для строки, т.е. например у меян есть указатель - char *c. Мне необходимо ввести строку с клавиатуры, выделить для нее память через указатель с и занести...
C++ оператор ввода помогите плз... мне нужен оператор, ограничивающий количество введенных символов ( в частности как в линухе - считывание без Ентара) и время ввода, так же очень хотелось бы, что бы он умел считывать... http://www.cyberforum.ru/cpp-beginners/thread21452.html
Определить индекс столбца, в котором находится максимальное количество нулей C++
определить индекс столбца, в котором находится максимальное кол-во нулей. Переставить элементы данного столбца в обратном порядке
C++ Как открыть бинарный файл, не зная его структуру?
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
C++ Для чего используеться передача структурных переменных в функцию? http://www.cyberforum.ru/cpp-beginners/thread21407.html
Вообщем прошу помощи. 1) Для чего используеться передача структурных переменных в функцию? Как производиться доступ к полям структуры? Какими дополнительными возможностями обладают структуры. 2)...
C++ Составить судоку. Разгадать ее и описать алгоритм. Составить судоку.разгадать ее и описать агларитм.:help: подробнее

Показать сообщение отдельно
Blacki
0 / 0 / 0
Регистрация: 18.01.2009
Сообщений: 6
20.01.2009, 12:03  [ТС]
И еще вопрос (последний в этой теме) Функция "toonparade" должна возвращаять такой же результат как и функция "maakparade", но у меня не получается. В чем ошибка?

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 20
 
typedef struct {
  int lignr;
  int kenteken;
  char kleur[7];
  int passagiers;
} BOOT;
 
int telboten(BOOT[]);
void toonhaven(BOOT[], int);
int bepaalaantal(BOOT[], char[], int);
int vgl(const void*, const void*);
 
 
int maakparade(BOOT[], char[], int*, int);
void toonparade(int, int*);
 
int main(void)
{
  BOOT haven[MAX] = {{12,101,"rood",12},
                            {14,105,"blauw",8},
                            {4,628,"blauw",24},
                            {3,411,"rood",28},
                            {11,311,"blauw",14},
                            {8,205,"geel",18},
                            {15,208,"blauw",22},
                            {0, 0, "dummy", 0}};
  int* parade;
  int aantalboten, aantal;
 
  aantalboten = telboten(haven);
  printf("Het aantal boten is %d\n", aantalboten);
  printf("\nInhoud haven\n");
  toonhaven(haven, aantalboten);
  printf("\n");
 
  aantal = maakparade(haven, "rood", &parade, aantalboten);
  printf("\nParade van rood : ");
  toonparade(aantal, parade);
  printf("\n");
 
  aantal = maakparade(haven, "groen", &parade, aantalboten);
  printf("\nParade van groen : ");
  toonparade(aantal, parade);
  printf("\n");
 
  aantal = maakparade(haven, "blauw", &parade, aantalboten);
  printf("\nParade van blauw : ");
  toonparade(aantal, parade);
 
  return 0;
}
 
//******************* functies ******************************
 
int telboten(BOOT* h) {
    int teller=0;
    //while((strcmp(h[teller].kleur,"dummy"))!=0) teller++;
    while(strcmp(h[teller].kleur,"dummy")) teller++;
    return teller;
}
 
void toonhaven(BOOT h[], int a) {
//void toon_tab(BOOT* h, int a) {
    int teller;
    printf("nr  ln   kentk   kleur   pass\n");
    for(teller=0; teller<a; teller++)
        printf(" %d %3d %7d   %-7s %3d\n", teller, h[teller].lignr, h[teller].kenteken, h[teller].kleur, h[teller].passagiers);
}
 
int bepaalaantal(BOOT* h, char* kl, int a) {
    int teller=0, res=0;
    while(teller<a){
        if((strcmp(h[teller].kleur, kl))==0) res++;
        teller++;
    }
    return res;
}
 
int maakparade(BOOT* h, char* kl, int* p, int a)
{
    int res, teller, i=0;
 
    printf("\nParade van %s : ", kl);
    res=bepaalaantal(h, kl, a);
    p=calloc(res, sizeof(int));
    if(!p) {
        printf("\nAllocatie mislukt!");
        return 1;
    }
    for(teller=0; teller<a; teller++){
        if((strcmp(h[teller].kleur, kl))==0) {
            p[i]=h[teller].kenteken;
            printf(" %5d ", p[i]);
            i++;
        }
    }
    i=0;
    return res;
}
 
 
void toonparade(int res, int p[])
{
int teller;
    for(teller=0; teller<res; teller++)
        printf(" %5d ", &p[teller]);
return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru