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

Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка дружественной функции http://www.cyberforum.ru/cpp-beginners/thread702187.html
Класс TStud: class TStud { private: char Shifr_Fac, Name_Fac, Shifr_Gr; int kol_stud; int prop; int uv_prop; friend istream& operator >> (istream&, TStud&); friend...
C++ Стрелки после cout и cin Здравствуйте! Недавно начал изучать язык С++, и решил попробовать написать чёнить. Решил сделать программу ищущую разницу между чисел #include <iostream> #include <stdio.h> int main(int argc,... http://www.cyberforum.ru/cpp-beginners/thread702175.html
C++ Выскакивает out_of_range
Добрый День! Не пойму в чем проблема, дальше return false не уходит, вылетает окно "Необработанное исключение в "0x75a2d36f" в "bbb.exe": Исключение Microsoft C++: std::out_of_range по адресу...
C++ Ошибок не выдает, но не работает
Всем привет. Написал программу для для определения в каком предложении в файле впервые встретилось введенное слово. При компиляции ошибок не выдало, но после того как ввожу искомое слово и нажимаю...
C++ Ошибка в bool функции http://www.cyberforum.ru/cpp-beginners/thread702157.html
#define ADD_OBJ 2 #define ADD_SUB 4 #define DEL_OBJ 8 #define DEL_SUB 16 #define ADD_RIGHT 32 #define DEL_RIGHT 64 #define READ 2 #define WRITE 4 #define EXECUTE 8 #define DELETE 16
C++ Удалить строки и продублировать столбцы Помогите решить две задачки (написать код программы в с++): 1. удалить строки с тремя одинаковыми подряд идущими элементами. 2. продублировать столбцы с четной суммой элементов. подробнее

Показать сообщение отдельно
CyberKatze
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 6
21.11.2012, 01:18
c 14 по 21 строчку что-то мне вообще непонятно, что происходит и зачем? если сверху стоит другое задание....

а проблема в том, что теряется массив при передаче в функцию. в фунцию передается массив как указатель, поэтому его длину проблематично утвердить...

например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define MAX_LENGTH_VEKTOR 10
 int getVekLength(const int* vektor, int len){
    return sizeof(vektor)/len ;
 }
 int main(int argc, char *argv[]) {
 int a[MAX_LENGTH_VEKTOR];
 
 for (i=0; i<MAX_LENGTH_VEKTOR;i++) {
    a[i]=rand();
 }
 
 
 printf("\n test length vektor 'a' = %d",sizeof(a)/sizeof(int));
 printf("\n length vektor 'a' = %d",getVekLength(a,sizeof(int)));
---

test length vektor 'a' = 10
length vektor 'a' = 1

тестовая длина показывает правильный размер вектора
а вот вектор через функцию показывает неправильное значение



вот и нужно думать, как получуть длину вектора в функции.........

Добавлено через 2 минуты
Цитата Сообщение от NeonLost Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
 double dlina(int *a)
 {
     double l1=0;
 for (int i=0;i<8;i++) {
 l1=l1+a[i]*a[i]; }
 return sqrt(l1);
 
 }
не знаю что при такой форме вы пытаетесь доказать ))))) но ответ у меня выходит такой:


test2 length vektor 'a' = 791801027
test length vektor 'a' = 10
length vektor 'a' = 1
length vektor 'b' = 1



i a[i] b[i]
0 5300 8651
1 1317 14502
2 19753 27518
3 528 6678
4 28033 21692
5 7880 5337
6 31670 23266
7 30022 25814
8 26275 2482
9 6480 27011
C++
1
2
3
4
 printf("\n test2 length vektor 'a' = %d",dlina(a));
 printf("\n test length vektor 'a' = %d",sizeof(a)/sizeof(int));
 printf("\n length vektor 'a' = %d",getVekLength(a,sizeof(int)));
 printf("\n length vektor 'b' = %d\n\n\n\n",getVekLength(b,sizeof(b[0])));
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru