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

Найти самый посещаемый кинотеатр (массив из слов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дружественная функция для класса http://www.cyberforum.ru/cpp-beginners/thread854364.html
Здравствуйте, имеется следующая задача: Базовый класс «СТУДЕНТ» описывает следующие данные о студентах университета: ФИО, год поступления, курс, номер группы, размер стипендии, оценки по n предметам. В состав класса входят следующие функции: виртуальный метод просмотра информации о студенте, функция-друг, которая вычисляет средний балл и выводит ФИО студента, у которого он максимальный....
C++ Перевод stdin c файла на клавиатуру #include <stdio.h> int x,y; int main(){ freopen("1.txt","r",stdin); freopen("2.txt","w",stdout); scanf("%d",&x); // scanf("%d",&y); printf("%d",x+y); http://www.cyberforum.ru/cpp-beginners/thread854356.html
C++ Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
написать универсальный тип, который представляет точку на плоскости в координатах (х, у) и в полярных координатах. Написать функцию для подсчета площади треугольника, заданного 3 точками. #include <iostream.h> #include <conio.h> #include <stdio.h> #include <string.h> #include <ctype.h> #include <math.h> typedef enum { stand, polar} Mode;
C++ Даны вещественные числа А > 1 и В
Даны вещественные числа А > 1 и В. Распечатать все числа вида сi = Аi (i = 1,2,...), меньшие В. Помогите решить в C++.
C++ Пояснения кода http://www.cyberforum.ru/cpp-beginners/thread854324.html
Вариант 5. Сформировать одномерный массив. Удалить из него K элементов, начиная с заданного номера, добавить K элементов, начиная с заданного номера. объясните пожалуйста отмеченные мною части кода.. Буду благодарен. #include "stdafx.h" #include <iostream> #include <conio.h> #include <time.h> #include <locale> using namespace std;
C++ Написать функцию, которая удаляет все лишние пробелы Доброго дня суток. Помогите пожалуйста.. Нужно написать функцию, которая удаляет все лишние пробелы, т. е. из нескольких подряд идущих пробелов оставить только один. А также есть такой код: #include "stdafx.h" #include <cmath> подробнее

Показать сообщение отдельно
men47
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 7

Найти самый посещаемый кинотеатр (массив из слов) - C++

02.05.2013, 19:44. Просмотров 638. Ответов 12
Метки (Все метки)

дравствуйте, помогите, пожалуйста, с с++, я его раньше не изучал, но пришлось начать изучать данный язык, столкнулся с такой проблемой.

есть файл, причем в файл данной же программой записывается название кинотеатра, кол-во мест(котор проданы), категория и т.д.

мне нужно по заданию найти самый посещаемый кинотеатр

я хочу внести названия кинотеатров и кол-во мест которые были проданы в массив.

Вначале пытался сделать 2-мерный массив, но я не знаю как сделать разные колонки разными типами

потом решил использовать 2 одномерных массива, но при записи в массив где слова, там перезаписывается в 1 строку, а не в следующим, причем!!! в момент fread(&b, sizeof(cinima), 1, fp);


Прилагаю код:

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
void Poseshaemost()
{  char **c = new char *[1000];
   float a[1000];
int i,j,m=0,n, sum=0;
  cinima b;
  FILE *fp;
  cout<<"\nCpisok kinoteatrov\n";
  if(nCount==0) cout<<"V spiske net dannbIx o kinoteatrov";
  else
    {   fp=fopen(filename,"r");
        if(fp==NULL)
            cout<<"Oshibka chtenia dannbIx iz faila";
        else
        {
            fseek(fp, sizeof(int), SEEK_SET);
                        m=1;
            for(i=0;i<nCount;i++)
            {
            fread(&b, sizeof(cinima), 1, fp);
                        if(m == 1)
                                {
                                c[m]=b.title+'\0';
                                a[m]=b.kol;
                                m=m+1;
                                }
                           else
                               { for(j=2;j<=m;j++)
                                if(c[j]==b.title)
                                   {
                                   a[j]=a[j]+b.kol;
                                   sum=sum+1;
                                   }
                                   if (sum==0)
                                   {
                                   c[m]=b.title;
                                   a[m]=b.kol;
                                   m=m+1;
                                   }
                                   }
            }
            fclose(fp);
        }
    }
     n=a[1];
     for(j=1;j<=m;j++)
       if (n<a[j])
        n=a[j];
     for(j=1;j<=m;j++)
       if (n==a[j])
        cout<<c[j]<<"\n"<<endl
Я понимаю что немного косячный код, но пока какой придумался

Добавлено через 1 минуту
Если нужно будет могу приложить весь код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru