Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2018, 21:28   #1
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
Восклицание Массив стрингово-интеджерный, двумерный. С++

Всем доброго времени суток!
Проблема, которая возникла такова (замучился уже биться головой о неё):
Нужно создать массив данных о концерте, присутствуют поля Фамилия исполнителя, дата концерта, цена билета, количество оставшихся мест.

Выбрал С++ на свою голову, поменять решение - поздняк.

Что имею:

//Copyright Rvn_wf и все, кто помогал(Вбейтесь сюда))

#include "stdafx.h"
#include <iostream>
#include <string>
#include <array>
using namespace std;
//int _tmain(int argc, _TCHAR* argv[])
int main() /////////////////////////////////////////////////////
{
setlocale(LC_ALL, "russian");
int concert_num = 1; ////счетчик номеров концертов
int cost, places, usr_cost; /////////переменная цена, наличие мест, максимальная стоимость
int rows; ////////строки массива
int cols[5] = {"Familia", "Date", "cost", "places"}; //////// поименование колонок массива! фамилия, дата концерта, стоимость билета, мест осталось
cout << "Введите количество концертов: "<<endl; //ввод количества вводимых концертов, количество строк массива
cin >> rows; //Считывание количества строк(концертов)
int **arr = new int* [rows]; ///Выделяем память под массив указателей
for (int i = 0; i < rows; i++) //второй ранг массива
{
arr[i] = new int[cols];
}
//////////////////////////////////////наполнение массива
for (int i=0; i<rows; i++)
{
for (string j=0; j<cols; j++)
{
cout<< "Введите фамилию исполнителя концерта № "<<concert_num<<endl;
cin >> arr[i][j];
cout<< "Введите дату проведения концерта № "<<concert_num<<endl;
cin >> arr[i][j+1];
cout<< "Введите стоимость билета на концерт № "<<concert_num<<endl;
cin >> arr[i][j+1];
cout <<"Введите количество оставшихся мест № " <<concert_num<<endl;
cin >> arr[i][j+1];
concert_num = concert_num + 1;
j=0;
}
}
////////////////////////////////////////вывод готового массива
for (int i=0; i<rows; i++)
{
for (int j=0; j<rows; j++)
{
cout << arr[i][j] << "\t";
}
}
/////////////////////////////////////////освобождение оперативной памяти
for (int i=0; i<rows; i++)
{
delete[] arr[i];
}

delete[] arr;
return 0;
}

Все, что можно было сломать - уже сломал, по началу хоть как то работал, если вбивать только цифры... Капец короче, голова уже не варит, а к этому всему ещё ввод вывод в текстовый файл прикрутить надо....ХЭЛП!!
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 21:40   #2
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

Если удастся обойтись без 2х массивов - 1 стринг с датой и фамилией, 2 - стоимость и места и вымерять по индексу соответствие - будет круто)
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 21:50   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Создайте структуру/класс концерт с сответствующими полями, заведите массив этих струтур (а лучше сразу вектор) и оперируйте им.
p51x вне форума Ответить с цитированием
Старый 20.01.2018, 22:06   #4
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

Спасибо, мил человек)
Если бы нам кто рассказывал ещё как да что на парах...
а то - вот задание, гугли и делай как хочешь....
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 22:15   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Ну так загуглите. Описать структуру - написано везде:
Код:
struct Koncert {
  std::string fam;
  uint32_t cena;
 ...
Вектор тоже везде описан.
p51x вне форума Ответить с цитированием
Старый 20.01.2018, 22:25   #6
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Создайте структуру/класс концерт с сответствующими полями, заведите массив этих струтур (а лучше сразу вектор) и оперируйте им.
Пока вот что имею, но уже плохо соображаю..
#include <iostream>

using namespace std;
class concert{
private:
int day, month, year;
public:

string familia[10];
string date[10];
int cost[10];
int places[10];
void data (int date_day, int date_month, int date_year){ //функция запоминания даты
day = date_day;
month = date_month;
year = date_year;
}
void get_date (){
cout <<"date of concert is :" <<day<<","<<month<<","<<year<<end l; //функция вывода даты
}
}

int main()
{
return 0;
}
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 22:27   #7
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

знаю, что не элегантно, но мне на данном этапе эти структуры понятнее, позже буду переходить к более сложным, с этим бы до конца разобраться...
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 22:31   #8
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

Правочки...
#include <iostream>

using namespace std;
class concert{
private:
int day, month, year; //building classes 4 each concert
int cost,places;
string familia;
public:

void data (int date_day, int date_month, int date_year){ //функция запоминания даты
day = date_day;
month = date_month;
year = date_year;
}
void get_date (){
cout <<"date of concert is :" <<day<<","<<month<<","<<year<<end l; //функция вывода даты
}
}

int main()
{
return 0;
}
Rvn_wf вне форума Ответить с цитированием
Старый 20.01.2018, 22:31   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Теперь объявляйте
Код:
std::vector<concert> Data;
и вперед...
p51x вне форума Ответить с цитированием
Старый 20.01.2018, 22:41   #10
Rvn_wf
Новичок
Джуниор
 
Регистрация: 20.01.2018
Сообщений: 8
По умолчанию

ещё правочки ...
include <iostream>

using namespace std;
class concert{
private:
int day, month, year; //building classes 4 each concert
int cost,places;
string fam;
public:
void cost_place(int c_cost, int is_place){ //места и цена
cost = c_cost;
places = is_place;}

void data (int date_day, int date_month, int date_year){ //функция запоминания даты
day = date_day;
month = date_month;
year = date_year;}
void get_date(){
cout <<"date of concert is :" <<day<<","<<month<<","<<year<<end l; //функция вывода даты
}
void Familia(string c_fam){ 0
fam = c_fam; }
}
Rvn_wf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать двумерный массив Variant из VBA в dll C++, передать двумерный массив Variant из VBA в dll C++ и вернуть их после обработки обратно в VBA. maxPo Microsoft Office Excel 0 24.11.2017 17:29
Переписывая все в новый массив,добавить в двумерный массив столбец с заданным номером. anasttb Общие вопросы C/C++ 0 24.05.2017 12:15
Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив TheAnnihilyator Помощь студентам 1 04.06.2014 09:16
Java: Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Заменить первые три строки массива A vikysha55 Помощь студентам 1 16.04.2014 10:50
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56