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

Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B - C++

Восстановить пароль Регистрация
 
mamonnn
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 4
24.06.2011, 22:24     Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B #1
Даны векторы A[20], B[15], C[10], у каждого из которых есть хотя бы одна отрицатель-
ная компонента. Символьной переменной L присвоить значение true, если отрицательная
компонента вектора C встретится не позднее, чем у векторов A и B[/B] (компоненты просмат-
риваются в порядке возрастания их номеров), и значение false в противном случае.

Вот я написал прогу вроде всё работает но мне кажется что я её не так написал:
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
37
38
39
40
41
42
43
44
45
46
#include <iostream>
using namespace std;
int main(int argc, char* argv[]){
int i,k,m,n;
setlocale( LC_ALL, "rus" );
bool l;
int A[20],B[15],C[10];
l=false;
cout <<"Введите массив А:";
cout<<"\n";
for (i=0; i<20; ++i) {
cout <<"A["<<i+1<<"]=";
cin>> A[i];}
cout <<"Массив A: ";
for (i=0; i<20; i++) cout <<A[i]<<" ";
 
cout<<"\n";
cout <<"Введите массив B:";
cout<<"\n";
for (i=0; i<15; ++i) {
cout <<"B["<<i+1<<"]=";
cin>> B[i];}
cout <<"Массив B: ";
for (i=0; i<15; i++) cout <<B[i]<<" ";
 
cout<<"\n";
cout <<"Введите массив С:";
cout<<"\n";
for (i=0; i<10; ++i) {
cout <<"C["<<i+1<<"]=";
cin>> C[i];}
cout <<"Массив C: ";
for (i=0; i<10; i++) cout <<C[i]<<" ";
 
for (i=0; i<20; i++)
{if (A[i]<0) {l=true; k=i; break;} }
 
for (i=0; i<15; i++)
{if (B[i]<0) {l=true; m=i; break;} }
 
for (i=0; i<10; i++)
{if (C[i]<0) {l=true; n=i; break;} }
 
if (n<=m && n<=k) {l=true; cout <<"l= true";} else {l=false; cout <<"l=false";}
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2011, 22:24     Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B
Посмотрите здесь:

сложение и вычитание векторов, скалярное произведение векторов, умножение на скаляр, сравнение векторов, вычисление длины вектора C++
Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет C++
C++ Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае
Переменной Т присвоить значение истина, если максимальный элемент одномерного массива единственный и не превосходит наперед заданного числа А C++
C++ Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С
C++ Переменной m присвоить значение 1, если x<y и -1, если x>=y
Как присвоить переменной имя, взятое из вектора C++
Присвоить переменной S определенное значение, если введенное число х лежит вне отрезков [2..5] и [-1..1] C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
24.06.2011, 23:03     Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B #2
Всё не проверял, но зачем l= true в циклах? Это лишнее. Просто индексы нашёл и этого достаточно, а потом на проверку условия.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
25.06.2011, 10:31     Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B #3
Код для просмотра (не проверяет границы, т.к. условиями гарантировано наличие отрицательного элемента)
C++
1
2
3
4
for (i = 0; A[i]>=0 && B[i] >= 0 && C[i] >= 0; i++)
  ;
l = C[i] < 0;
cout << "l = " << boolalpha << l << endl;
С проверкой границы код немного меняется
C++
1
2
3
4
for (i = 0; i < 10 && A[i]>=0 && B[i] >= 0 && C[i] >= 0; i++)
  ;
l = i < 10 && C[i] < 0;
cout << "l = " << boolalpha << l << endl;
Правда не совсем я понял где тут символьная переменная, и как ей присвоить значение true. У меня как и в исходной версии переменная булева.
Yandex
Объявления
25.06.2011, 10:31     Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B
Ответ Создать тему
Опции темы

Текущее время: 09:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru