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

Нужно поправить код

06.06.2013, 12:08. Показов 760. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем есть файл txt с парами областей
вот пример кусочек
Кликните здесь для просмотра всего текста
Volynska Rivnenska
Volynska Lvivska

Lvivska Volynska
Lvivska Rivnenska
Lvivska Ternopilska
Lvivska IvanoFrankivska
Lvivska Zakarpatska

Zakarpatska Lvivska
Zakarpatska IvanoFrankivska

Rivnenska Volynska
Rivnenska Zhytomyrska
Rivnenska Lvivska
Rivnenska Ternopilska
Rivnenska Khmelnytska


структура такая
C++
1
2
3
4
5
6
7
8
9
struct map{
    char *region;
    int id;
    char *sosedi[100];
    char *color;
    char *colorS[100];
    char *tmp;
    char *key;
};
вот моя функция загрузки( но в цикле похходу зацикливаеться )
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
void LoadMap(){
    map *a  = new map[26];
    a[0].key = new char[50]; a[0].tmp = new char[50];
    string name ="sosedi.txt";
    ifstream load(name);
 
    for(int ii=0; ii<25;ii++){  
            a[ii].region = new char[50];
            load >> a[0].key >> a[0].tmp;
            a[ii].region = a[0].key;
            a[ii].id =ii;
            while(a[ii].region == a[0].key){
            load >> a[0].key >> a[0].tmp;
            for(int j = 0; j<obl[ii];j++){
            a[ii].sosedi[j] = a[0].tmp;
            }
            //cout<<key<<" "<<tmp<<"\n";
            }
        }
    cout<<"\nOK";
/*
    for(u = 1; u < 104; u++){
        cout<<a[i].region<<" ";
        for(int j = 0; j<obl[j];j++){
            cout<<a[i].sosedi[j]<<" ";
            }
        cout<<endl;
    }
    */
    delete[] a;
 
}
Обьясняю откуда взял obl[ii] у меня есть константный массив в котором в порядке идет количество соседей области.
C++
1
const int obl[25]={2,5,2,5,5,4,4,5,4,3,5,7,3,7,4,6,3,5,7,4,2,4,3,4,1};
Суть загрузки.
Я загружаю в ключ главную область, а в тмп ее соседа.
потом сразу a[i].region = ключ
пока a[i].region == ключу я в цикле заполняю этот регион соседями.. вот как то так..
но у меня где то сбиваеться..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2013, 12:08
Ответы с готовыми решениями:

Поправить ошибки нужно код,очень нужно,сегодня должен отослать
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; using namespace std; struct Student { ...

Нужно поправить код
Всем привет, есть у меня вот такая функция,по сути самый простой калькулятор.Он полностью рабочий,но есть одно НО: как сделать так,чтобы...

Нужно поправить код
Задача состоит в том,что в одну ячейку массива можно вписать сколько угодно единиц,но только два нуля.Вывести нужно количество...

3
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
06.06.2013, 14:40
не совсем понятно в чем заключается сама задача.
0
26 / 26 / 3
Регистрация: 10.04.2013
Сообщений: 167
06.06.2013, 15:09  [ТС]
Вобщем с файла нужно в структуру загнать области и соседи областей,
я создавал конструктор которым это все создавал и записывал в файл, но мне нужно тупо просто с файла читать пары областей и заганять их в структуру

пара областей

киев черкассы
киев одесса
киев луцк

киев это ключ, черкассы сосед


структура
region - ключ
sosedi - сосед
0
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
06.06.2013, 18:45
Не въехал как Вы работаете с файлом, переписал процедуру. Вот рабочий вариант, правда, он сыроват и имеет ряд недостатков...
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
76
77
78
79
80
81
82
83
84
85
#include <iostream>
#include <fstream>
#include <map>
#include <inttypes.h>
 
using namespace std;
/*
struct map{
    char *region;
    int id;
    char *sosedi[100];
    char *color;
    char *colorS[100];
    char *tmp;
    char *key;
};
*/
struct string_map{
    string region;
    int id;
    string sosedi[100];
    char *color;
    char *colorS[100];
    char *tmp;
    string key;
};
 
void display_map(string_map* some)
{
  for (int i=0; i<26; i++)
  {
    if (some[i].key != "") cout << some[i].key << endl;
    int j=0;
    while (some[i].sosedi[j] != "")
    {
      cout << "\t" << some[i].sosedi[j] << endl;
      j++;
    }
        
  }
}
 
    
    // key - oblast' value - id
map<string, uint16_t> oblast_id;
map<string, uint16_t>::iterator oblast_id_iter;
 
int main()
{
  string_map some[26];
  
  ifstream some_file ("sosedi.txt");
  string line;
  string sosed;
  int oblast_counter=0;
  while ( some_file.good() )
  {
    getline (some_file,line);
    unsigned pos = line.find(" ");
    sosed = line.substr(pos+1);
    line = line.substr(0,pos-1);
    oblast_id_iter = oblast_id.find(line);
    if (oblast_id_iter == oblast_id.end())
    {
      oblast_id[line] = oblast_counter;
      oblast_counter++;
    }
 
    oblast_id_iter = oblast_id.find(line);
    some[oblast_id_iter->second].key = line;
    for (int i=0; i<100; i++)
    {
      if (some[oblast_id_iter->second].sosedi[i] == "")
      {
        some[oblast_id_iter->second].sosedi[i] = sosed;
    break;
      }
    }
    
  }
 
  some_file.close();
 
  display_map(some);
}
Будут вопросы - спрашивайте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2013, 18:45
Помогаю со студенческими работами здесь

Нужно поправить синтаксис! С++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; const int maxN= 111111; long a; void swap(long w1, long w2) ...

Поправить код
В этом коде нужно дописать, что пременная step&lt;=0 иначе errror. Как это сделать ? Вот код. #include &lt;iostream&gt; using...

НУжно Поправить класс студент
Есть код программы но выбрасывает ошибки на всех компиляторах, скажите в чем проблема. заранее спасибо. Задача: Создать класс студент,...

Необходимо поправить код
в общем программа решает СЛАУ методом Жордана-Гаусса с выбором ведущего элемента, проблема в том, что код вроде бы правильный но выдает...

Поправить немного код
#include &lt;string.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; using namespace std; int main() { int...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru