Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.01.2018, 00:25   #1 (permalink)
semmmen98
Новичок
 
Регистрация: 07.01.2018
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию И ещё помогите с задачей

Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой структуру с двумя полями: одно поле целого типа (количество вещей) и одно поле действительное (масса вещей в килограммах). Определить:

- имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
ПР11. Структуры данных
Программный код решения примера

#include <stdio.h>

#include <conio.h>

#include <string.h>

#define N 40

struct book { // определение структуры

char title[N+1]; // название книги

char author[N+1]; // автор

int year; // год издания

int page; // количество страниц

float price; // цена в у.е.

} Library;

int main (void)

{

// Инициализация полей структуры

Library.year = 2007;

Library.page = 496;

Library.price = 12.78F;

strcpy_s(Library.title, N, "Programming in C");

strcpy_s(Library.author, N, "Stephen G. Kochan");

// Вывод на консоль

printf("\n\t Title: %s\n", Library.title);

printf("\t Author: %s\n", Library.author);

printf("\t Year: %d\n", Library.year );

printf("\t Number of pages: %d p.\n", Library.page );

printf("\t Price: %1.2f y.e.\n", Library.price);

printf("\n\n Press any key: ");

_getch();

return 0;

}
Задание 1

1. Совместите объявление и инициализацию структуры. После инициализации структуры выполните изменение ее полей с последующим выводом на консоль.

2. Примените оператор typedef.

3. Поля структуры title и author определите с помощью указателей.

4. Произведите инициализацию структуры после ввода значений полей с клавиатуры.
semmmen98 вне форума   Ответить с цитированием

Старый 08.01.2018, 00:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Если появится свободное время - рекомендую заняться прочтением этих тем

Помогите с задачей С++
Помогите с задачей на php-код

Старый 08.01.2018, 03:31   #2 (permalink)
Студент-2000
Member
 
Регистрация: 21.12.2017
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 717
По умолчанию

Забавно - задание про пассажиров, а код программы про книги
Студент-2000 вне форума   Ответить с цитированием
Старый 08.01.2018, 10:03   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Студент-2000, кончайте флудить!
Цитата:
Сообщение от semmmen98 Посмотреть сообщение
ПР11. Структуры данных
Программный код решения примера
Сказано же — "пример", т.е. рассмотрена аналогичная задача. В качестве образца.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.01.2018, 23:13   #4 (permalink)
Студент-2000
Member
 
Регистрация: 21.12.2017
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 717
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Студент-2000, кончайте флудить!Сказано же — "пример"
Цитата:
Программный код решения примера
-Сорри, у меня с русского не перевелось.
Студент-2000 вне форума   Ответить с цитированием
Старый 14.01.2018, 20:55   #5 (permalink)
Olej
Member
 
Аватар для Olej
 
Регистрация: 10.01.2018
Сообщений: 36
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от semmmen98 Посмотреть сообщение
Определить: - имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
Ввод исходных данных из файла я не показываю - это элементарно просто (массив пассажиров выписан прямо в коде), а всё остальное может выглядеть так:
Код:
#include <iostream>
#include <algorithm>
using namespace std;

struct bagazh {
   string owner;
   int    number;
   float  weight;
   inline friend  ostream& operator <<( ostream& out, const struct bagazh& obj ) {
      return out << "[ " << obj.owner << " | " 
                       << obj.number << " | " << obj.weight << " ]";
   }
};
   
int main( int argc, char** argv ) {
   float m = 12.;
   bagazh train[] = { 
      { "Иванов И.И.",  2, 12. }, 
      { "Петров П.П.",  1, 15. }, 
      { "Сидоров С.С.", 1, 9.  },
      { "Макаров М.М.", 1, 11. },
   };
   int size = sizeof( train ) / sizeof( train[ 0 ] ); 
   for( bagazh *i = train; i < train + size; ) { 
      i = find_if( i, train + size, [ m ]( bagazh& x )-> bool { 
         return 1 == x.number && x.weight < m; } );
      if( i < train + size ) 
         cout << *i++ << endl;
   } 
}
Выполнение:
Код:
$ g++ -Wall -std=c++11 -O3  bagazh.cc  -o bagazh

$ ./bagazh 
[ Сидоров С.С. | 1 | 9 ]
[ Макаров М.М. | 1 | 11 ]
Olej вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:49.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.