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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
#1

Работа с массивами структур - C++

15.12.2010, 19:50. Просмотров 708. Ответов 13
Метки нет (Все метки)

Помогите пожалуйста разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять дополнительную операцию в соответствии с индивидуальным заданием.
Вот само задание - Поля структуры: код животного, название, количество еды в день (кг). Операция: найти название животного, которое ест больше всего.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 19:50     Работа с массивами структур
Посмотрите здесь:

Работа с массивами структур - C++
Операция: определить количество книг заданного пользователем автора. ,как реализовать эту операция ,нужно что бы при выборе case 2...

Работа с массивами структур - C++
помогите пожалуйста очень нужно С++ и если можно подписать где и что заранее спасибо огромное Поля структуры: код студента, фамилия,...

Работа с Массивами Структур - C++
Вновь с вопросом о помощи по заданию, которое само собой не понимаю... 1. Поля структуры: инвентарный номер книги, название, число...

Работа с массивами структур - C++
Разработать программу, позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять...

Проблемма при работе с массивами структур - C++
Разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять...

Работа с массивами - C++
Я ввожу переменную, например 456. Программа розбивает её и записьІвает в массив. int Array Array = 4; Array = 5; Array = 6;

Работа с массивами - C++
Программа, которая считывает из заранее подготовленного текстового файла, и должна сначала вывести весь текст просто на экран, потом...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 20:02     Работа с массивами структур #2
Что значит "добавлять в массив?". Просто сделать еще три массива?
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
15.12.2010, 21:33  [ТС]     Работа с массивами структур #3
скорее всего да, но это всё должно быть в одном коде, а не нескольких...
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 21:50     Работа с массивами структур #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
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
#include <conio.h>
#include <stdio.h>
#include <string.h>
typedef struct 
    {
            int k;       
            char n[20];
            int e;
    }
    zver; 
int main()
{
    printf("vvedi kolichestvo jivotnih:\n");
    int k,i,j;
    scanf("%d",&k);
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
    for (i=0;i<k;i++)
    {
        printf("ZVER # %d",i+1);
        printf("\nvvedite kod:\n");
        scanf("%d",&z[i].k);
        printf("vvedite nazvanie:\n");
        scanf("%s",z[i].n);
        printf("vvedite kolichestvo edi (kg):\n");
        scanf("%d",&z[i].e);
    }
    printf("\nINFORMACIYA O JIVOTNIH:\n");
    for (i=0;i<k;i++)
    {
        printf("Jivotnoe #%d\n",i+1);
        printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[i].k,z[i].n,z[i].e);
    }  
    for (i=0;i<k;i++)
    {
        kod[i]=z[i].k;
        strcpy(name[i],z[i].n);
        eda[i]=z[i].e;
    }
    printf("\nPROSMOTR INFORMACII:\nindividual'niy prosmotr - 1\nprosmotr po kategoriyam - 2\nvihod - 3\n");
    int u,l,m;
    scanf("%d",&u);
    if(u<1 && u>3) printf("nevernoe znachenie!");
    else
    {
        while(u!=3)
        {
        if(u==1) 
        {
                printf("vvedite nomer jivotnogo:\n");
                scanf("%d",&l);
                if(l<0 && l>k) printf("ne verniy nomer!\n");
                else 
                {
                printf("Jivotnoe #%d\n",l);
                printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[l-1].k,z[l-1].n,z[l-1].e);
                }
        }
        else
        {
               printf("viberite kategoriyu:\n kod - 1; nazvanie - 2; eda - 3;\n");
               scanf("%d",&m);
               if(m<1 && m>3) printf("ne verniy nomer!\n");
               else
               {
                   if(m==1) 
                   {
                           printf("\nKOD:\n");
                           for(i=0;i<k;i++)
                           printf("#%d -> %d\n",i+1,z[i].k);
                   }
                   if(m==2) 
                   {
                           printf("\nNAZVANIE:\n");
                           for(i=0;i<k;i++)
                           printf("#%d - > %s\n",i+1,z[i].n);
                   }
                   if(m==3) 
                   {
                           printf("\nEDA:\n");
                           for(i=0;i<k;i++)
                           printf("#%d -> %d\n",i+1,z[i].e);
                   }
               }
        }
        printf("\nPROSMOTR INFORMACII:\n individual'niy prosmotr - 1\nprosmotr gj kategoriyam - 2\nvihod - 3\n");
        scanf("%d",&u);
        }          
    }
    printf("\nJIVOTNOE S SAMIM BOL'SHIM KOL. EDI:\n");
    int max,imax;
    max=z[0].e;
    imax=1;
    for(i=0;i<k;i++)
    if(z[i].e>max) 
    {
                   max=z[i].e;
                   imax=i+1;
    }
    printf("jivotnoe # %d eda: %d",imax,max);
    getch();
    return 0; 
}
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
15.12.2010, 22:53  [ТС]     Работа с массивами структур #5
выдаёт шибки в строках - zver z[k]; int kod[k], eda[i]; char name[k][20];
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 23:04     Работа с массивами структур #6
SynaptyC, гы-гы) у мну ошибок - нуль и все работает
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
16.12.2010, 00:01  [ТС]     Работа с массивами структур #7
вот на скрине ошибки
Миниатюры
Работа с массивами структур  
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 13:25  [ТС]     Работа с массивами структур #8
Можеет кто-то помочь исправить эти ошибки ? )))
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 13:35     Работа с массивами структур #9
Василий-Робот, у вас куча ошыбок. Как у вас может работать вот ето
C
1
2
3
4
5
6
printf("vvedi kolichestvo jivotnih:\n");
    int k,i,j;
    scanf("%d",&k);
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
Ведь надо либо к задавать как константу, либо использовать malloc и free!!!
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 13:42  [ТС]     Работа с массивами структур #10
как тогда правильно записать это к ?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 13:44     Работа с массивами структур #11
Цитата Сообщение от SynaptyC Посмотреть сообщение
как тогда правильно записать это к ?
C
1
2
3
4
5
 int i,j;
    const int k=5;
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 14:00  [ТС]     Работа с массивами структур #12
выдало 36 ошибок, ещё больше чем было(( Вы бы не могли написать или подправить ?
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
17.12.2010, 21:11     Работа с массивами структур #13
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
#include <conio.h>
#include <stdio.h>
#include <string.h>
typedef struct 
    {
            int k;       
            char n[20];
            int e;
    }
    zver; 
int main()
{
    zver z[5];
    int i,kod[5], eda[5];
    char name[5][20];
    for (i=0;i<5;i++)
    {
        printf("ZVER # %d",i+1);
        printf("\nvvedite kod:\n");
        scanf("%d",&z[i].k);
        printf("vvedite nazvanie:\n");
        scanf("%s",z[i].n);
        printf("vvedite kolichestvo edi (kg):\n");
        scanf("%d",&z[i].e);
    }
    printf("\nINFORMACIYA O JIVOTNIH:\n");
    for (i=0;i<5;i++)
    {
        printf("Jivotnoe #%d\n",i+1);
        printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[i].k,z[i].n,z[i].e);
    }  
    for (i=0;i<5;i++)
    {
        kod[i]=z[i].k;
        strcpy(name[i],z[i].n);
        eda[i]=z[i].e;
    }
    printf("\nPROSMOTR INFORMACII:\nindividual'niy prosmotr - 1\nprosmotr po kategoriyam - 2\nvihod - 3\n");
    int u,l,m;
    scanf("%d",&u);
    if(u<1 && u>3) printf("nevernoe znachenie!");
    else
    {
        while(u!=3)
        {
        if(u==1) 
        {
                printf("vvedite nomer jivotnogo:\n");
                scanf("%d",&l);
                if(l<0 || l>5) printf("ne verniy nomer!\n");
                else 
                {
                printf("Jivotnoe #%d\n",l);
                printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[l-1].k,z[l-1].n,z[l-1].e);
                }
        }
        else
        {
               printf("viberite kategoriyu:\n kod - 1; nazvanie - 2; eda - 3;\n");
               scanf("%d",&m);
               if(m<1 && m>3) printf("ne verniy nomer!\n");
               else
               {
                   if(m==1) 
                   {
                           printf("\nKOD:\n");
                           for(i=0;i<5;i++)
                           printf("#%d -> %d\n",i+1,z[i].k);
                   }
                   if(m==2) 
                   {
                           printf("\nNAZVANIE:\n");
                           for(i=0;i<5;i++)
                           printf("#%d - > %s\n",i+1,z[i].n);
                   }
                   if(m==3) 
                   {
                           printf("\nEDA:\n");
                           for(i=0;i<5;i++)
                           printf("#%d -> %d\n",i+1,z[i].e);
                   }
               }
        }
        printf("\nPROSMOTR INFORMACII:\n individual'niy prosmotr - 1\nprosmotr gj kategoriyam - 2\nvihod - 3\n");
        scanf("%d",&u);
        }          
    }
    printf("\nJIVOTNOE S SAMIM BOL'SHIM KOL. EDI:\n");
    int max,imax;
    max=z[0].e;
    imax=1;
    for(i=0;i<5;i++)
    if(z[i].e>max) 
    {
                   max=z[i].e;
                   imax=i+1;
    }
    printf("jivotnoe # %d eda: %d",imax,max);
    getch();
    return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 21:33     Работа с массивами структур
Еще ссылки по теме:

Работа с массивами - C++
Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому...

Работа с массивами в С++ - C++
Доброго времени суток! Пытался составить программу, формулировка которой звучит так: Дан массив натуральных чисел n размерности m (m...

Работа с массивами - C++
Подскажите пожалуйста, что значит &quot;**&quot; в данной строке? void Array(int ** array, int size); Спасибо!

работа с массивами и структурами. - C++
Здравствуйте.нужна помощь...у нас есть структура с именем train, в которой описывается пункт назначиения, номер поезда и время...

Работа с динамическими массивами - C++
Помогите пожалуйста с программой,это должна быть одна программа.. 1)Как написать процедуру для заполнение двумерного массива случайными...


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

Или воспользуйтесь поиском по форуму:
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 21:33  [ТС]     Работа с массивами структур #14
спасибо большое!
Yandex
Объявления
17.12.2010, 21:33     Работа с массивами структур
Ответ Создать тему
Опции темы

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