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

Получить среднее арифметическое и среднее геомерическое элементов последовательности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ блок-схема алгоритма и програмный код функции http://www.cyberforum.ru/cpp-beginners/thread21645.html
Прошу помочь с данным заданием. Напишите блок-схему алгоритма и програмный код функции с коментариями. Для функции передаваемые параметры: указатель на массив и количество элементов массива....
C++ Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента Дан целочисленный массив А. Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента. http://www.cyberforum.ru/cpp-beginners/thread21605.html
C++ Редактирование строки
Нужно редактировать текстовый файл таким образом: у нас есть определенное кол-во символов,которое может быть в строке(можно определить define'ом,пусть будет N) и нужно сделать так,чтобы в строке в...
Программа, должна выполнять дочерный процесс и передавать ему параметр через его переменные окружения C++
Программа, должна выполнять дочерный процесс и передавать ему параметр через его переменные окружения. В качестве параметра использовать название файла, который открывается. Проверить следующие...
C++ Ширина столбцов матрицы http://www.cyberforum.ru/cpp-beginners/thread21588.html
#include<stdio.h> #include<conio.h> #define A 3 #define B 2 int main() { int mass,i,j,a,b,s=0; clrscr(); printf("input mass\n"); for(i=0;i<A;i++)
C++ Помогите! нужна простая программа Всем привет, нуждаюсь в вашей помощи, мне нужна простая программа написанная на С++, не важно что она будет делать, главное чтобы в ней был цикл, желательно операторы if, for, switch. А также нужна... подробнее

Показать сообщение отдельно
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.02.2009, 06:06
C++
1
void vvod(float *maxNat);
...
C++
1
2
        a = (float*)realloc(NULL, sizeof(float));              
        vvod(maxNat);
...
C++
1
    *maxNat = (float) i;
здесь ошибка в передаче аргумента

вообще
C++
1
2
    // количество введеных элементов
    *maxNat = (float)i;
количество введённых элементов может быть полэлемента, или три с половиной элемента ? не может ? ну тогда надо int или unsigned, если только элементов больше 4 гигабайт, тогда дробные юзают потому что они могут хранить большие целые числа, но double

изначально глобальные переменные нельзя делать, либо по максимуму минимизировать их использование, потому что не только вот такие ситуации возникают, когда от них не избавишься потому что они во всех функциях, но и потому, что в больших программах, где каждая часть программы как отдельная программа, такая глобальная переменная может неявным образом повлиять на какой-то участок и даже после отлова этой ошибки (а в неявных ошибках без дебаггера не разберёшься) избавиться от переменной и будущих проблем (там ещё проблемы с расширением программы наступают) тоже тяжело. Получается эффект виндовс, когда надо бы систему делать безопаснее, да только вот не сделаешь уже, потому что с самого начало всё топором вырублено.

C++
1
    for (i = 0; i < *maxNat; i++)
и тут тоже, i объявлена как int, а maxNat объявлена как float, в операции i < *maxNat, i совершенно случайно будет приведена к типу float и совершенно случайно правильно сработает. Чем больше в программе случайностей, тем больше возможностей для появления ошибок.
У тебя в программе трудно разобраться, потому что она не структурирована, то есть не разделена а перемешана. При росте программы в ней не разберётся даже её автор, потому что отдельные моменты забываются.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru