Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 09.12.2010
Сообщений: 63

Указатели на структуры!

10.03.2011, 11:46. Показов 649. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Захватить память для массива из 10 структур.
Заполните массив данными из файла "1.dat".
Вывести информацию о маршрутах, имеющих определенный пункт в качестве начального или конечного. Высчитать для них среднюю длину.
Перед завершением программы освободить память.
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
#include "iostream"
#include "stdio.h"
using namespace std;
struct MARSH
{
    char start_name[20];
    char finish_name[20];
    int nom_msrsh;
    int dl_msrsh;
};
void main()
{
    int y=0, d=0;
    MARSH mas[10];
    MARSH *pmas;
    pmas=&mas[10];
    FILE *f1;
    f1 = fopen("1.bin","r+b");
    while(true)
    {
               fread(&pmas,sizeof(pmas),1,f1);
               if(!feof(f1)) break;
               else {pmas++; ++y;}
    }
    for (int i=0;i<y; i++)
        {
               if((*pmas).start_name[i]!=NULL && (*pmas).finish_name[i]!=NULL)
               {
                   cout<<"nachal'nii punkt"<<endl;
                   cout<<(*pmas).start_name<<endl;
                   cout<<"konechnii punkt"<<endl;
                   cout<<(*pmas).finish_name<<endl;
                   cout<<"Nomer marshruta"<<endl;
                   cout<<(*pmas).nom_msrsh<<endl;
                   cout<<"Dlina marshruta"<<endl;
                   cout<<(*pmas).dl_msrsh<<endl;
                   d+=(*pmas).dl_msrsh;
                   pmas++;
               }
        }
    cout<<"Srednay dlina="<<d/y<<endl;
    fclose(f1);
 
}
Это я написал, а вот как исправить, чтоб работало, не знаю.
Вот предыдущая программа, которая записывает в "1.dat"
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
#include "iostream"
#include "stdio.h"
using namespace std;
struct MARSH
{
    char start_name[20];
    char finish_name[20];
    int nom_msrsh;
    int dl_msrsh;
}sp;
void main()
{
    FILE *f1;
    f1 = fopen("1.bin","a+b");
    int n;
    cout<<"Vvedite kol-vo zapisey"<<endl;
    cin>>n;
    MARSH mas[100];
    MARSH *pmas;
    pmas=&mas[n];
    for (int i = 0; i < n; i++)
    {
        cout<<"Vvedite nachal'nii punkt"<<endl;
        cin>>pmas[i].start_name;
        cout<<"Vvedite konechnii punkt"<<endl;
        cin>>pmas[i].finish_name;
        cout<<"Nomer marshruta"<<endl;
        cin>>pmas[i].nom_msrsh;
        cout<<"Dlina marshruta"<<endl;
        cin>>pmas[i].dl_msrsh;
    }
    fwrite(&pmas,sizeof(pmas),n,f1);
    fclose(f1);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2011, 11:46
Ответы с готовыми решениями:

Структуры и указатели
Задался парой вопросов. Возможно, уже где-то задавались, поэтому прошу прощения заранее. Ниже описана структура для однонаправленного...

Указатели на структуры
Подскажите в чем ошибка...Дело в том когда я в вожу в каждое поле по 1 значению все нормально выводит,но если при в вводе в поле я пишу два...

Структуры и указатели
Привет форумчане, столкнулся вот с такой вот задачкой на структуры: 1. Описать структуру с именем PRICE, содержащую следующие поля: -...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2011, 11:46
Помогаю со студенческими работами здесь

Указатели и структуры
Здравствуйте. Подскажите, пожалуйста, почему не меня среда ругается. error C2440: =: невозможно преобразовать &quot;Book *&quot; в...

Указатели и структуры
Здравия желаю. Подскажите пожалуйста каким образом осуществляется доступ к полю структуры, если оно является указателем?

Указатели на структуры
type celltype = record elетеt: integer; next: ^celltype end; DICTIONARY = array of ^celltype; какой аналог этой записи...

Структуры указатели ссылки
Приветик! Начну сразу с кода. struct data { std::string guid; std::vector&lt;float&gt; price_history; };

Указатели на структуры и функции
Я собственно не хотел бы заводить очередную тему на полезность/бесполезность указателей но думаю немного таки приоткрою завесу. Да, они...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru