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

Использование функций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Тренажер по арифметике с++ http://www.cyberforum.ru/cpp-beginners/thread761259.html
Пользователь-учитель вводит с клавиатуры разрядность операндов, тип операции: + – * / (на множестве натуральных чисел) и количество примеров. Компьютер генерирует случайным образом операнды, результат операции и выводит пользователю-ученику серию примеров, в каждом из которых один из операндов или результат «замаскирован», например: 37*_=1591. Ученик вводит пропущенное число (в приведенном...
C++ Переделать под указатели Всем привет! Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в том порядке, как они встречаются в тексте). //Из заданного текста выбрать и напечатать //те символы, которые встречаются в нем ровно один раз //(в том порядке, как они встречаются в тексте) #include <stdio.h> #include <stdlib.h> int main() { http://www.cyberforum.ru/cpp-beginners/thread761247.html
Матрицы. Найти сумму элементов по каждому столбцу и минимальный элемент среди элементов, находящихся выше главной диагонали C++
Дана матрица А(3,3). Найти сумму элементов по каждому столбцу и минимальный элемент среди элементов, находящихся выше главной диагонали.
Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум C++
Разработать функцию, которая для произвольной матрицы находит сумму в каждом рядке матрицы а среди сумм - максимум.
C++ Двоичный файл http://www.cyberforum.ru/cpp-beginners/thread761165.html
Вот такое дело... Есть двоичный файл в нем информация, а именно названия поезда и колличество свободных мест. Я выбираю нужное мне направление и должен изменить колличество свободных мест... Н он емогу поменять число которое мне надо (то есть, старое колличество свободных мест удалить, а новое вписать...) как это сделать?
C++ Вычислить площадь треугольника или круга написать программу, которая запрашивала бы начальную букву фигуры: П, Т или К. Затем, в зависимости от буквы, запрашивала необходимую для вычисления площади прямоугольника, треугольника или круга, вычисляя площадь выводила результат. подробнее

Показать сообщение отдельно
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 13:48     Использование функций
Строка 18 вашей программы, там вы выделяете под 11 предприятий, а сами инициализируете 12, программа сыпется после завершения, поскольку вы в неинициализированную память пишите. надо под 12 выделять там. 0,1,2,...,11 всего 12 эл-тов. Что касается функции. То что вы объявили структуру тем же именем, не означает что будет обращение к структуре в мейне. Там память заного будет выделена. Поэтому нужно передавать указатель на вашу структуру(на память где расположены данные). Вот поправил немного ваш код:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
struct Plants
{
    char * name; 
    int square; 
    int vplan;
    int vfact;
    char * com;
};
void func(Plants * f)
{
    bool found;
    for (int i=0; i<=11; i++) 
    {
        if (f[i].vplan<f[i].vfact) 
        {
            cout << endl << "Name: " << f[i].name << "(plan="<<f[i].vplan<<"; fact="<<f[i].vfact<<")"<<endl; 
        }
    }
}
int main()
{
    setlocale (LC_ALL, "Russian");
    Plants f[12];
    f[0].name = "MotorSICH";
    f[0].square = 158;
    f[0].vplan = 950;
    f[0].vfact = 1020;
    f[0].com="not bad";
 
    f[1].name = "Ferro";
    f[1].square = 220;
    f[1].vplan = 1000;
    f[1].vfact = 950;
    f[1].com="not so good";
 
    f[2].name = "Ferro1";
    f[2].square = 100;
    f[2].vplan = 500;
    f[2].vfact = 600;
    f[2].com = "good";
 
    f[3].name = "Toyota";
    f[3].square = 2000;
    f[3].vplan = 9000;
    f[3].vfact = 11500;
    f[3].com = "awesome";
 
    f[4].name = "Amazon";
    f[4].square = 500;
    f[4].vplan = 500;
    f[4].vfact = 400;
    f[4].com = "not very good";
 
    f[5].name = "Obolon";
    f[5].square = 300;
    f[5].vplan = 800;
    f[5].vfact = 790;
    f[5].com = "so close";
 
    f[6].name = "Sarmat";
    f[6].square = 400;
    f[6].vplan = 1000;
    f[6].vfact = 1000;
    f[6].com = "normally";
 
    f[7].name = "Marga";
    f[7].square = 100;
    f[7].vplan = 500;
    f[7].vfact = 300;
    f[7].com = "so bad";
 
    f[8].name = "Scallop";
    f[8].square = 200;
    f[8].vplan = 100;
    f[8].vfact = 100 ;
    f[8].com = "normally";
 
    f[9].name = "Pineapple";
    f[9].square = 350;
    f[9].vplan = 1000;
    f[9].vfact = 1025;
    f[9].com = "good";
 
    f[10].name = "Mushel";
    f[10].square = 1000;
    f[10].vplan = 150;
    f[10].vfact = 165; 
    f[10].com = "great";
 
    f[11].name = "Walno";
    f[11].square = 250;
    f[11].vplan = 1000;
    f[11].vfact = 1015;
    f[11].com = "not bad";
    func(f);
    getchar();
    return 0;
}
Добавлено через 6 минут
Еще неравенство в условном операторе функции не в ту сторону стоит). Функция выводит предприятия котрые превысили план...
 
Текущее время: 12:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru