| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Ошибка типов |
| Автор: Langaru 27.11.2009, 13:22 | ||
| Наткнулся еще на 1 ошибку - invalid operands of types `int' and `double ()(double, double)' to binary `operator/' - invalid operands of types `double' and `double ()(double, double)' to binary `operator/' Код следующий:
Не пойму толком что ему не нравится. Толи он не хочет переменные с разными типами перемножать (int*double), толи... на этом сломалась голова... |
| Автор: Langaru 27.11.2009, 13:38 | ||||||||
Ну уж извините, пока только учусь
Dev-C++ 4.9.9.2. Ошибки на строках:
и
V1PT - функция из этой же программы, не привожу ее, т.к. работает корректно и большая по объему. |
| Автор: bsa 27.11.2009, 13:42 |
| Langaru, почитай http://forum.vingrad.ru/forum/topic-269794/kw-faq-c++.html. И начни с "Оформление кода". |
| Автор: azesmcar 27.11.2009, 13:46 | ||
Это не компилятор, это среда разработки, но компилятор скорее всего gcc.
функция? а где ВЫЗОВ функции? не имеет значения, красиво оформлять код надо всегда, а то потом в привычку войдет. Строго следи за чистотой и аккуратностью кода ВСЕГДА. |
| Автор: Langaru 27.11.2009, 13:51 | ||
Спасибо! Именно вызова и не было, видимо это и не нравилось компилятору - теперь все работает |
| Автор: Albor 27.11.2009, 13:53 |
| В инициализации массива ошибка: индексы выходят за пределы. И что такое V1PT, в функции объявления не нашёл. Математические формулы можно было бы и упростить, если есть a*1/b, то не проще ли записать a/b |
| Автор: Langaru 27.11.2009, 14:00 | ||
Что именно не правильно и как должно быть? Рано обрадовался - теперь при выполнении вылезает ошибка: память не может быть "read". |
| Автор: Albor 27.11.2009, 14:02 |
| массив объявлен 5х4, то есть 20 элементов, а инициализируется 30 элемента |
| Автор: bsa 27.11.2009, 14:03 | ||
|
| Автор: Albor 27.11.2009, 14:09 | ||
Из-за этого и вылезает ошибка. Объявляй массив 6х5 и не забывай, что 0 в индексе тоже считается. |
| Автор: Langaru 27.11.2009, 14:18 | ||||||
Изменил на double b[6][5].
Прочитал, исправил на while
ошибка изменилась- теперь: память не может быть"write" - чего он записать не могет? |
| Автор: Albor 27.11.2009, 14:25 | ||
N и K тоже поменял? Вообще то, лучше было сделать так:
|
| Автор: bsa 27.11.2009, 14:29 | ||
Не лучше, так как не очень очевидно и в си работать, думаю, не будет. Лучше так:
|
| Автор: Langaru 27.11.2009, 14:29 | ||||
Согласен, только:
|
| Автор: Albor 27.11.2009, 14:40 |
Ну, это кому как Здесь спорить не буду. |
| Автор: Langaru 27.11.2009, 14:43 |
| Теперь вроде, все работает и ошибку не выдает. Спасибо откликнувшимся |