Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
1

Как массово вывести значения всех элементов структуры?

09.03.2014, 10:38. Просмотров 1635. Ответов 16
Метки нет (Все метки)

В общем есть код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
struct part;
{
int dom;
int kvartira;
};
int main()
{
part part1;
pat1.raz=1;
part1.dva=2;
 
cout<<????;
 
return 0;
}
Вопрос заключается в том,как массово вывести значения всех элементов структуры?
Можно было бы и вывести как то так
C++
1
cout<<part1.raz;
и так сделать с каждым.Ну а если представить что там сотни элементов?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 10:38
Ответы с готовыми решениями:

Вывести числа, имеющие значения меньше максимального и больше среднего значения всех элементов массива
Задан массив целых чисел. Вывести на экран числа, имеющие значения меньше...

Вывести на экран элементы и индексы элементов, которые меньше среднего значения всех элементов массива
Написать программу, в которой: 1. Задать массив целых чисел длиной согласно...

Вывести значения тех элементов матрицы, лежащих выше главной диагонали, которые больше всех элементов
Дан вещественный массив А. Вывести на экран значения тех элементов, лежащих...

Как вывести значения переменных из структуры?
Вот часть моей программы: int i; switch(choice) { ...

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

16
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 10:51 2
Во-первых после объявления структуры пишется ;, а не после названия структуры
Во-вторых, что вы имеете в виду под "массовостью вывода"
В-третьих, как вы получаете доступ к переменным структуры raz и dva, если их нет в структуре?
0
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:02  [ТС] 3
Спешил,напутал с кодом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
struct part
{
int dom;
int kvartira;
};
int main()
{
part part1;
pat1.dom=1;
part1.kvartira=2;
 
cout<<????;
 
return 0;
}
Под массовостью я имею ввиду вывод всех элементов part1.
Т.е что бы при минимальном коде у меня вывелся в данном случае номер дома и квартиры.
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:18 4
C++
1
cout<<part1.dom<<" "<<part1.kvartira;
0
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:24  [ТС] 5

и так сделать с каждым.Ну а если представить что там сотни элементов?
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:25 6
Цитата Сообщение от Nachalnika Посмотреть сообщение
и так сделать с каждым.Ну а если представить что там сотни элементов?
Что вы понимаете под "сотня"? сотня элементов dom и kvartira или вообще сотня разных элементов?
0
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:31  [ТС] 7
Да,сотни элементов дом и квартира.
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:33 8
Тогда сделайте такую структуру
C++
1
2
3
4
5
struct part
{
int dom[100];
int kvartira[100];
};
и в цикле от 1 до 100 выводите элементы
C++
1
cout<<cout<<part1.dom[i]<<" "<<part1.kvartira[i];
0
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:34  [ТС] 9
C++
1
2
3
4
struct part
{
int dom;
int kvartira;
+
C++
1
2
3
int plus;
int min;
};
Так может понятнее,т.е переменных будет объявлено много и мне надо их выводить все при определенных условиях.
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:36 10
тогда руками
0
zss
Модератор
Эксперт С++
7485 / 6852 / 4326
Регистрация: 18.12.2011
Сообщений: 18,128
Завершенные тесты: 1
09.03.2014, 11:38 11
Лучший ответ Сообщение было отмечено Nachalnika как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
struct part
{
int dom;
int kvartira;
};
ostream& operator<<(ostream& os,const  part& pp)
{
     os<<pp.dom<<" "<<pp.kvartira<<endl;
     return os;
}
int main()
{
   part part1;
   patr1.dom=1;
   part1.kvartira=2;
   cout<<part1;
   return 0;
}
1
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:39  [ТС] 12
В общем мне надо в идеале то вроде
C++
1
cout<<part1;
Но,естественно, компилятор меня пошлет..
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:42 13
надо обращаться непосредственно к каждому, так что руками
0
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:42  [ТС] 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
struct part
{
int dom;
int kvartira;
};
ostream& operator<<(ostream& os,const  part& pp)
{
     os<<pp.dom<<" "<<pp.kvartira<<endl;
     return os;
}
int main()
{
   part part1;
   patr1.dom=1;
   part1.kvartira=2;
   cout<<part1;
   return 0;
}
Позже проверю код,но он пока мне не понятен как новичку в с++.Не могли бы по возможности объяснить принцип его действия в краце хотя бы?)
0
Worf
43 / 43 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 11:44 15
это перегрузка оператора вывода
1
Nachalnika
4 / 4 / 0
Регистрация: 25.11.2012
Сообщений: 80
09.03.2014, 11:53  [ТС] 16
Хм,8 глава,перезагрузка операций,ладно,дойдем еще до этого,спасибо всем.
0
zss
Модератор
Эксперт С++
7485 / 6852 / 4326
Регистрация: 18.12.2011
Сообщений: 18,128
Завершенные тесты: 1
09.03.2014, 12:00 17
Кстати, можете аналогично перегрузить и ввод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ostream& operator<<(ostream& os,const  part& pp)
{
     os<<pp.dom<<" "<<pp.kvartira<<endl;
     return os;
}
istream& operator>>(istream& is,part& pp)
{
     is>>pp.dom>>pp.kvartira;
     return is;
}
int main()
{
   part part1;
   cin>>part1;
   cout<<part1;
   return 0;
}
1
09.03.2014, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2014, 12:00

Вывести значения всех элементов одномерного массива с помощью указателей
Вывести значения всех элементов одномерного массива с помощью указателей, * в...

Вывести все элементы этой матрицы, отличающиеся от среднего значения всех элементов менее чем на 10%
Суть программы такова: С клавиатуры задается матрица размером 5 * 7. Вывести...

Определить, сколько элементов стека имеют значения меньше среднего значения от всех элементов и удалить их
Доброго времени суток! Задача: Создать стек из целых случайных чисел и...


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

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

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