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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pavlovnik
41 / 22 / 4
Регистрация: 07.12.2011
Сообщений: 114
#1

Невозможно вычислить значение в массиве структур - C++

10.11.2012, 01:18. Просмотров 341. Ответов 3
Метки нет (Все метки)

пишет что не может вычислить значения:


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
#include <iostream>
#include <Windows.h>
 
 
using namespace std;
 
 
struct Zayavka
{
    int num1;
    int num2;
    int sum;
    int sos;//1-ждет, 2-обрабатывается, 3-выполнена
    int id;
};
 
int maxZay, maxGen, maxObr; 
Zayavka *mas;
CRITICAL_SECTION cs1;
 
 
void gener()
{
    int i=0;
    //EnterCriticalSection(&cs1); без секций пока что
    while (i<maxZay)
    {   
        mas[i].num1=rand();
           mas[i].num2=rand();
        mas[i].sum=0;
        mas[i].id=i;
        mas[i].sos=1;
        i++;
    }
    //LeaveCriticalSection(&cs1);
}
 
 
int main()
{ 
cout<<"Vvedite kol-va zayavok: ";
cin>>maxZay;
 
 if(maxZay>0)
 {
     Zayavka *mas = new Zayavka[maxZay];
 }
 else
 {
     cout<<"Oshibka vvoda, nevernoe chislo";
 };
maxGen=maxObr=1;//пусть будет вариант с одним генератором и обработчиком
 
 gener();
 
 
 
 cout<<mas[0].num1;
 int qwer=0;
 cin>>qwer;
}
Добавлено через 38 секунд
ругается что не может вычислить значения в массиве структур. Видимо просто не заполняет структуры(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2012, 01:18     Невозможно вычислить значение в массиве структур
Посмотрите здесь:

Вычислить максимальное значение в массиве - C++
Препод говорит за пять минут написать можно :) У меня честно говоря голова забита другими проблемами. Задача рукописная, пишется без...

В одномерном массиве вычислить среднее значение положительных элементов массива - C++
В одномерном массиве вычислить среднее значение положительных элементов массива.Решить в с++ с помощью функций. Добавлено через 9...

В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий - C++
Народ помогите решить хоть какие нибудь задания а то у меня совсем не получается. В двухмерном целочисленном массиве (размеры массива...

Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевыми значениями - C++
Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевыми значениями. Поменять местами минимальный и...

Поиск в массиве структур. - C++
Кто может,пожалуйста,гляньте. Вот мой массив: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...

Сортировка в массиве структур - C++
Здравствуйте . Вот я создаю структуру: struct Data //описываемая структура { int m; int year; int day; }; в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
10.11.2012, 01:52     Невозможно вычислить значение в массиве структур #2
Строка 46
C++
1
2
3
if(maxZay>0){
Zayavka *mas = new Zayavka[maxZay];
}
Это объявление нового указателя на массив, не имеющего ничего общего с объявленным в строке 18. Его область видимости лишь блок if()
после 46й строки он исчезнет.
Просто убери объявление Zayavka * перед mas и это уже будет не объявлением нового, а присвоением глобальному.

Добавлено через 5 минут
Просто убери объявление Zayavka * перед mas и это уже будет не объявлением нового, а будет использование объявленного в строке 18.
Вот что обидно, так это то, что такие переопределения даже warning не вызвали! Почему?
alsav22
10.11.2012, 03:41
  #3

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Вот что обидно, так это то, что такие переопределения даже warning не вызвали! Почему?
По какому поводу предупреждение? И переопределения здесь нет. Сами же пишите:
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Это объявление нового указателя на массив, не имеющего ничего общего с объявленным в строке 18.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2012, 22:30     Невозможно вычислить значение в массиве структур
Еще ссылки по теме:

Ошибка присваивания в динамическом массиве структур - C++
Доброго времени суток! Я новичок в программировании, прошу не пинать сильно :) Изучаю С++ по книге С.Прата &quot;Язык программирования С++....

Оператор getline в динамическом массиве структур - C++
Суть в том что при выполнении программы, оператор присваивает переменной значение &quot;&quot;, не требуя при этом ввода. Выглядит это так. ...

Программа поиска в массиве структур, содержащих объединения - C++
Доброе время суток. Для начала опишу ситуацию. Есть программа поиска комплексного числа в массиве структур, содержащих объединения. ...

Интерполирующий поиск в массиве структур типа char - C++
Добрый вечер, дано задание сделать Интерполирующий поиск в массиве структур по полю char типа. Возможно ли вообще использовать...


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

Или воспользуйтесь поиском по форуму:
pavlovnik
41 / 22 / 4
Регистрация: 07.12.2011
Сообщений: 114
10.11.2012, 22:30  [ТС]     Невозможно вычислить значение в массиве структур #4
у меня там все просто прерывалось критически, вот через отладку смотрел. На автомате написал, а даже не подумал.а так вроде работает, спасибо) буду дальше продолжать данную работу)
Yandex
Объявления
10.11.2012, 22:30     Невозможно вычислить значение в массиве структур
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru