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

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

Войти
Регистрация
Восстановить пароль
 
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
#1

Сформировать динамический массив из элементов структурного типа - C++

07.06.2013, 19:15. Просмотров 569. Ответов 2
Метки нет (Все метки)

1.Сформировать динамический массив из элементов структурного типа.
C++
1
2
3
4
5
6
struct реrson
{
char*name;
char *adres;
int age;
};
2.Вывести сформирован массив.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 19:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сформировать динамический массив из элементов структурного типа (C++):

Сформировать динамический массив из элементов структурного типа - C++
struct student { char*name; int kurs; float rating };

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

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

Динамический массив элементов произвольного типа - C++
Доброго времени суток. Будьте так добры, если вас не затруднит, помочь "понимающему дубу" с одной назойливой программкой. С...

Считать массив данних структурного типа и вывести их в файл с использованием stdio.h - C++
#include <iostream> #include <windows.h> using namespace std; struct Date { int month; int day; int year; ...

Сформировать одномерный массив из 50 элементов вещественного типа - C++
Сформировать одномерный массив из 50 элементов вещественного типа x=sin(i/8) , i=1, 2, ..., 50 . Отсортировать массив по возрастанию...

2
MarVaL
С++ Beginner
117 / 117 / 16
Регистрация: 28.02.2013
Сообщений: 246
07.06.2013, 19:45 #2
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
#include <iostream>
#include <cstring>
 
const int size = 5;
 
struct Person {
  char *name;
  char *surname;
  int age;
};
 
Person* inputPerson();
void printPerson(Person*);
 
int main() {
  Person *persons = inputPerson();
  printPerson(persons);
  for(int i = 0; i < size; ++i) {
    delete[] persons[i].name;
    delete[] persons[i].surname;
  }
  delete[] persons;
  return 0;
}
 
Person* inputPerson() {
  Person *persons = new Person[size];
  int bufSize = 30;
  for(int i = 0; i < size; ++i) {
    char name[bufSize], surname[bufSize];
    std::cin.clear();
    std::cout << "Please enter name of person: ";
    std::cin.getline(name, bufSize);
    std::cout << "Surname: ";
    std::cin.getline(surname, bufSize);
    persons[i].name = new char[strlen(name) + 1];
    strcpy(persons[i].name, name);
    persons[i].surname = new char[strlen(surname) + 1];
    strcpy(persons[i].surname, surname);
    std::cout << "Age: ";
    std::cin >> persons[i].age;
    std::cin.ignore();
  }
  return persons;
}
 
void printPerson(Person *persons) {
  for(int i = 0; i < size; ++i) {
    std::cout << "Person " << i + 1 << std::endl << " Name: " << persons[i].name << std::endl;
    std::cout << "Surname: " << persons[i].surname << std::endl;
    std::cout << "Age: " << persons[i].age << std::endl << std::endl;
  }
}
1
MrGluck
Модератор
Эксперт CЭксперт С++
7788 / 4824 / 750
Регистрация: 29.11.2010
Сообщений: 13,182
07.06.2013, 20:18 #3
выложу сюда дабы в скайпе форматирование убогое
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
#include <iostream>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
struct person
{
    char name[100];
    char address[100];
    int age;
};
 
void print(const person &m)
{
    cout << "Name = "    << m.name    << "\n"
         << "Address = " << m.address << "\n"
         << "God = "     << m.age     << "\n\n";
}
 
void init(person &m)
{
    cout << "Name: ";
    cin >> m.name;
    cout << "Address: ";
    cin >> m.address;
    cout << "God: ";
    cin >> m.age;
}
 
void myFind(const person *arr, const int size, const char *key)
{
    for (int i=0; i < size; i++)
        if (strcmp(arr[i].name, key) == 0) // если поле name структуры arr[i] совпадает с ключом поиска
            print(arr[i]); // выводим её на экран
}
 
void mySort(person *arr, const int size)
{
    // пузырьковая сортировка. Сортируем по полю name
    for (int i=0; i < size; i++)
        for (int j=size-1; j > i; j--)
            if (strcmp(arr[i].name, arr[j].name) > 0)
            {
                // мегняем местами
                person tmp = arr[i]; // временная переменная
                arr[i] = arr[j];
                arr[j] = tmp;
            }
}
 
 
int main()
{
    const int size = 3;
    person pArr[size];
    // в цикле инициализируем структуры
    for (int i=0; i < size; i++)
        init(pArr[i]);
 
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
 
    char key[100];
    cout << "Key to find: ";
    cin >> key;
    myFind(pArr, size, key);
 
    cout << "\nSorted:\n";
    mySort(pArr, size);
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
 
    system("pause"); // пауза
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2013, 20:18
Привет! Вот еще темы с ответами:

Запись элементов массива структурного типа.Из старого массива- в новый - C++
Здравствуйте.Возможно, в названии темы не совсем понятно &quot;чего я хочу&quot;, поэтому напишу задание: &quot;1.Сформировать динамический массив...

Сформировать массив типа bool из массива типа char - C++
Доброго времени суток! После ввода элементов массива вылазит ошибка &quot;Необработанное исключение: System.NullReferenceException ... &quot;...

Сформировать динамический массив X - C++
Сформировать динамический массив X размером MxN из случайных целых чисел. В программе организовать функцию для подсчета среднего...

Сформировать динамический массив - C++
Кто шарит в массивах помогите плиззззз. Сформировать динамический массив В розмера N*M из случайных чисел.Составить программу для...


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

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

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