Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 26

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

19.11.2012, 15:40. Показов 2044. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие задачи: переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае.
Исходные данные: А[8], В[8]
Примечание: вычисление длины вектора оформить в виде функции.

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
#include <math.h>
 #include <stdlib.h>
 #include <stdio.h>
 int random(int a, int b) {
 return (rand()%(b-a+1)+a);  }
 int main(int argc, char *argv[]) {
 int r,i;
 int a[8], b[8];
 double l1,l2;
 srand((size_t)(time(NULL)));
 for (i=0; i<8;i++) {
 a[i] = random(0,10);
 b[i] = random(0,10);}
 i=0;
 l1=0;
 l2=0;
 for (i=0;i<8;i++) {
 l1=l1+a[i]*a[i];
 l2=l2+b[i]*b[i]; } 
 l1 = sqrt(l1);
 l2 = sqrt(l2); printf("1=%f, 2=%f",l1,l2);
 if (l1>l2) {
 r=1;  }
 else {
 r=0;  }
 printf(“\nr=%d”,r);
 system(“pause”);
 return 0;
 }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2012, 15:40
Ответы с готовыми решениями:

Переменной b присвоить значение 0 если x и y равны, и значение 1 в противном случае
Заданы числа x и y.Переменной b присвоить значение 0 если x и y равны,и значение 1 в противном случае.

Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B
Даны векторы A, B, C, у каждого из которых есть хотя бы одна отрицатель- ная компонента. Символьной переменной L присвоить значение true,...

Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет
Условие задачи: Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию,...

14
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
19.11.2012, 15:44
надо подключить #include <ctime>


C++
1
2
printf(“\nr=%d”,r);
system(“pause”);
Вот в этих 2 строках неверные кавычки
1
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 26
19.11.2012, 23:15  [ТС]
посмотрите пожалуйста еще раз, мне вот преподаватель говорил что здесь я не учла примечание, что вычисление длины вектора оформить в виде функции. а как это сделать я не знаю.
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
19.11.2012, 23:48
Цитата Сообщение от naaduu Посмотреть сообщение
посмотрите пожалуйста еще раз, мне вот преподаватель говорил что здесь я не учла примечание, что вычисление длины вектора оформить в виде функции. а как это сделать я не знаю.
В чем проблема, вынесите в функцию весь код, который связан с вычислением длины и оформить в виде функции так же как оформлена у вас функция random.
0
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 26
20.11.2012, 23:16  [ТС]
и как это будет выглядеть? (а то я вообще не соображаю в этих программах)
0
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
20.11.2012, 23:51
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
#include <math.h>
#include <ctime>
 #include <stdlib.h>
 #include <stdio.h>
 int random(int a, int b) {
 return (rand()%(b-a+1)+a);  }
  double dlina(int *a);
 int main(int argc, char *argv[]) {
 int r,i;
 int a[8], b[8];
 double l1,l2;
 srand((size_t)(time(NULL)));
 for (i=0; i<8;i++) {
 a[i] = random(0,10);
 b[i] = random(0,10);}
 
 l1 = dlina(a);
 l2 = dlina(b); 
 printf("1=%f, 2=%f",l1,l2);
 if (l1>l2) {
 r=1;  }
 else {
 r=0;  }
 printf("\nr=%d",r);
 system("pause");
 return 0;
 }
 
 double dlina(int *a)
 {
     double l1=0;
 for (int i=0;i<8;i++) {
 l1=l1+a[i]*a[i]; }
 return sqrt(l1);
 
 }
1
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
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
21.11.2012, 17:26
я не понял, что тебе не нравится?..я не переписывал код, я просто добавил функцию, которая выполняет исходный захардкоденный код...)
0
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 6
22.11.2012, 23:57
Цитата Сообщение от NeonLost Посмотреть сообщение
я не понял, что тебе не нравится?..я не переписывал код, я просто добавил функцию, которая выполняет исходный захардкоденный код...)

a длину вектора так можно получить????

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);
 
 }
сам пробовал сделать? прежде чем непонятный кусок кода с сумой квадратов,который ну уж никак длину вектора не вычисляет, скинуть в функцию и говорить что написал ответ на поставленный вопрос?!


длину вектора получить через фунцию невозможно, т/к нет доступа ко всей памяти в которой хранится массив. а имея на руках только указатель на первый элемент массива, получить всю длину невозможно!

как выход из ситуации делать обеъкт ARRAY, у которого есть метод length() и по нему делать return/значение в функции!


если я в чем то не прав, прошу иправить/поправить!!!

решение поставленной задачи хотелось бы увидеть, если оно есть!

Спасибо!
0
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 26
23.11.2012, 10:17  [ТС]
я вчера сдала работу. там все было правильно
0
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 6
23.11.2012, 16:07
Цитата Сообщение от naaduu Посмотреть сообщение
я вчера сдала работу. там все было правильно

И Вы хотите сказать, что ваш код для проверки длины вектора правилен?????
0
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 26
23.11.2012, 17:29  [ТС]
да вот то что мне NeonLost переделал код, это оказалось правильным
0
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
23.11.2012, 18:05
Цитата Сообщение от CyberKatze Посмотреть сообщение
И Вы хотите сказать, что ваш код для проверки длины вектора правилен?????
зачем проверять, если он заранее известен и меняться не собирается?..)
0
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 6
23.11.2012, 19:08
Цитата Сообщение от NeonLost Посмотреть сообщение
зачем проверять, если он заранее известен и меняться не собирается?..)

тогда обратный вопрос:
1. зачем его тогда вычислять если он не меняется?!
2. почему я могу в главной программе длину вектора получить. а из функции нет??


функция длина считает непонятное... ибо в нем уже есть цикл i=0..8, что уже опровергает само задание по поиску длины вектора через функцию!

или я не прав?
0
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
23.11.2012, 22:23
мы вычисляем длину вектора, а ты нам говоришь про размерность матрицы(надеюсь ты понял)
2.потому что это тебе не java в функцию с массивом 2 параметром размер нужно указывать, либо использовать STL или свой говнокод
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2012, 22:23
Помогаю со студенческими работами здесь

Массив: Переменной Х присвоить 1, если элементы массива упорядочены по возрастанию, 0 - в противном случае.
Переменной Х присвоить 1, если элементы массива В(40) образуют возрастающую последовательность и значение 0 в противном случае.

Программа, печатающая значение true, если указанное высказывание является истинным, и false в противном случае
Составить программу,печатующую значение true,если указанное высказывание является истинным,и false -в противном случаею. Величина z...

name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
int main(){ vector&lt;double&gt; temps; double temp; cout &lt;&lt; &quot;Введите последовательность символов и | для завершения...

Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false - в противном случае.
Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false - в противном случае. Данная...

Составить линейную программу,печатающую значение true , если указанное высказывание является истинным,и false в противном случае
Составить линейную программу,печатающую значение true , если указанное высказывание является истинным,и false—в противном случае: Сумма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru