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

Передача массива структур в функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Файловый ввод/вывод http://www.cyberforum.ru/cpp-beginners/thread827526.html
Программа сортирует массив таким образом, чтобы сначала стояли нули, а затем все остальные элементы массива. Помогите переделать так, чтобы ввод инфы был из файла. И результат записывался в новый. #include <iostream> #include <dos.h> #include <Windows.h> using namespace std; int main() { setlocale (0,"RUS"); double sum = 0; int size; // размер массива
C++ Массив типа "Vector" (Вывести номера двух крупнейших элементов в этом массиве. Вычислить их сумму) Образовать и вывести массив "y" типа Vector с элементами yk = f (k) k = 1.12 е = 2.71 Вывести номера двух крупнейших элементов в этом массиве. Вычислить их сумму. http://www.cyberforum.ru/cpp-beginners/thread827518.html
Умножение двух чисел в столбик C++
Добрый день, товарищи! Вроде бы задание простое, но я в тупике, просто не пойму как начать. Нужно умножить два числа, не используя векторы. Вот начал: #include "stdafx.h" #include <iostream> using namespace std; void main()
C++ Снятие чисел с каждой строки, вычитание и запись
Есть файл, где все строки имеют такую структуру <object id="object (las2_lodbrigtower) (1)" interior="0" collisions="true" alpha="255" doublesided="true" model="5300" scale="1" dimension="0" background="" border="" foreground="" framesFaded="0" framesToFade="0" height="15" posX="111.75879" posY="4287.19629" posZ="1.77715" rotX="0" rotY="0" rotZ="0" state="hidden" text="Alpha Level"...
C++ Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков http://www.cyberforum.ru/cpp-beginners/thread827458.html
Собственно все задание Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить логическую операторную функцию для...
C++ strtok только для слов Посоветуйте функцию похожую на strtok(), только что работает и со словами. Например: Есть strtok, работает так char str = "ABCD$EFG"; char* primer = strtok(str,"$"); char* other = strtok(0, ""); TB->Text = CharToSystemString(primer); а хотелось бы функцию которая делает что то вроде этого char str = "Привет, как дела нормально бла бла бла"; подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2013, 00:00     Передача массива структур в функцию
Цитата Сообщение от ozimandius Посмотреть сообщение
То есть мне нужно было выделить память под данные? а почему не использовалась стековая память, как при использовании обычных переменных?
Она использовалась, но под массив указателей на структуры (student* std[n]. Сами структуры вы же не создавали, т.е. в этих указателях не было адресов структур. Может вы просто ошиблись, хотели написать:
C++
1
student std[n];
Добавлено через 7 минут
Тогда можно было бы так (что olya7 и предложила):
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
#include <iostream>
#include <cstring>
#include <conio.h>
 
using namespace std;
 
struct student 
{
 char name[30];
 int kurs;
 int age;
};
 
void set_student(student std[])
{for(int i=0;i<3;i++){
 cout<<"Vvedite imea: ";
 cin>>std[i].name;
 cout<<"Vvedite kurs: ";
 cin>>std[i].kurs;
 cout<<"Vvesite vozrast: ";
 cin>>std[i].age;}
}
 
void show_student(student std[])
{for(int i=0;i<3;i++){
 cout << "\n------------------------"<<endl;
 cout << "Student: " << std[i].name << endl;
 cout << "Vozrast: " << std[i].age << endl;
 cout << "Kurs: " << std[i].kurs << endl;}
}
 
int main()
{const int n=3;
 student std[n];
 set_student(std);
 show_student(std);
 _getch();
 return 0;
}
 
Текущее время: 17:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru