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

Очень нужен совет где найти ошибки в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Простое число http://www.cyberforum.ru/cpp-beginners/thread807777.html
bool prostoechislo(int n) //функция определяющая простое число или нет { if (n < 2) return false; if (n == 2) return true; if (n % 2 == 0) return false; for (int j = 3; j * j <= n; j += 2) if (n % j == 0) return false; return true; } Вот функция никак не пойму цикл
C++ Найти объем, массу и площадь основания цилиндрического слитка Известно плотность, высота и радиус основания цилиндрического слитка..Найти объем, массу и площадь основания слитка? Называем темы информативно http://www.cyberforum.ru/cpp-beginners/thread807764.html
Как открыть файлы с раширением *.dll и *.a C++
Вазможно ктото знает как открыть эти фаллы библиотек? IDE и блокнот открыть та открывают но, текст отображается кирилицей! Вазможно ктото знает???
C++ Экзамен по информатике. Сведения об учениках
Доброго времени суток! Задали задачу, сижу над ней третий день и все не могу дойти, как же ее решать. Я не прошу готовый код. Может кто может объяснить с чего начать и вообще логику таких задач? С++ владею на уровне новичка. Видел подобный пост, но не смог "въехать" в код. Вот собственно само условие: После единых выпускных экзаменов по информатике в район пришла информация о том, какой...
C++ Работа с дробями http://www.cyberforum.ru/cpp-beginners/thread807756.html
Написать программу, работы с дробями используя структуры. Написал функцию сложения (но чет напортачил) #include<iostream> #include<windows.h> using namespace std; struct Drob { int a; int b; }; Drob enterDrobData();
C++ Вывести несколько одинаковых максимальных элементов столбца матрицы #include <iostream> using namespace std; int main() { //Задание произвольной матрицы размерности, определяемой пользователем int n,m; cout<<"Kol-vo strok matritsi:"<<' '; cin>>n; cout<<"kol-vo stolbtsov matritsi:"<<' '; cin>>m; подробнее

Показать сообщение отдельно
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
14.03.2013, 00:02     Очень нужен совет где найти ошибки в программе
В первой же функции(остальное не смотрел)
Цитата Сообщение от Candace Посмотреть сообщение
void MemoryAllocation(int nstud,int ex ,char**fio,int**stball,float*stavball,float*exavball)
{
* * //Videlenie pameati dlea familii studentov i proverka na ee nalicie
* * fio=new char*[nstud];
* * if(fio==NULL)
* * {
* * * *cout<<"Not enough memory"<<endl;
* * * *exit(1);
* * }
* * for(int i=0 ; i<nstud;i++)
* * * * if(fio[i]==NULL)
* * * * {
* * * * cout<<"Not enough memory"<<endl;
* * * * exit(1);
* * * * }
.//..
}
1) fio, stball, stavball, exavball это копии тех переменных, что находятся в функции main. Присваивая им возвращаемые с помощью new адреса, вы никак не влияете на переменные с аналогичными именами в main.
2) по умолчанию, new не возвращает NULL в случае нехватки памяти, а генерирует исключение. Для того чтобы он вернул NULL, после слова new в скобках пишется слово nothrow.
3) проверки в цикле for вообще не имеют смысла(и здесь и далее)
Исправленный вариант может выглядеть приблизительно так
C++
1
2
3
4
5
6
7
8
9
10
11
void MemoryAllocation(int nstud, int ex, char**& fio, int**& stball, float*& stavball, float*& exavball)
{
    //Videlenie pameati dlea familii studentov i proverka na ee nalicie
    fio = new (nothrow) char* [nstud];
    if(fio == NULL)
    {
        cout << "Not enough memory" << endl;
        exit(1);
    }
//...
}
 
Текущее время: 20:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru