argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: задача по c++  (Прочетена 2395 пъти)

ot4aqna

  • Неактивен Неактивен
  • Публикации: 5
задача по c++
« -: 14.11.2006, 21:54:53 »

искам да ми помогнете за една задачка. ако не за решението, то поне с по прости думи да ми обясните условието. а то е: направете програма за сливане на два вектора с еднаква дължина като редувате елементите. отпечтайте резултатния вектор.    ние сме учили най-елементарните неща if, for... така, че може би е елементарна, но мен ме затруднява... помогнете
Активен

Stilgar

  • Неактивен Неактивен
  • Публикации: 843
Re: задача по c++
« Отговор #1 -: 14.11.2006, 23:17:16 »

znachi vuprosi:
1) znaesh li kakvo e vektor ot matematicheska gledna tochka
2) znaesh li kak se predstavia programno vektor
Активен
"Човек винаги трябва да си прави background" - Lia

ot4aqna

  • Неактивен Неактивен
  • Публикации: 5
Re: задача по c++
« Отговор #2 -: 15.11.2006, 09:39:22 »

ако ми кажете как се представя програмния вектор, мисля че ще мога да си я направя и сама. ето това сам написала: Програма:
# include <iostream.h>
void main ( )
{
int vector [1];
int a,b;
cout<< “въведете дължината на векторите”;
cin>>a>>b;
float i,c,n;
for(i=0; i<=n; i++)
if(a==b) c=a+b
cout<<”резултатния вектор е”<<c;
}
« Последна редакция: 15.11.2006, 10:33:48 от ot4aqna »
Активен

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #3 -: 15.11.2006, 10:35:16 »

ако ми кажете как се представя програмния вектор, мисля че ще мога да си я направя и сама. ето това сам написала: Програма:
# include <iostream.h>
void main ( )
{
int vector [1];
int a,b;
cout<< “въведете дължината на векторите”;
cin>>a>>b;
float i,c,n;
for(i=0; i<=n; i++)
if(a==b) c=a+b
cout<<”резултатния вектор е”<<c;
}

аз не знам точно за вектора, обаче това n? Получава ли стойност въобще?

Нещо много странно ми се струва изпълнението на тоя код, каква му е целта? Да  изчисли c=a+b ?
« Последна редакция: 15.11.2006, 10:36:57 от Ivelinka »
Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there

ot4aqna

  • Неактивен Неактивен
  • Публикации: 5
Re: задача по c++
« Отговор #4 -: 15.11.2006, 10:40:48 »

това искам да е поне. трябва да отпечата резултатния вектор на a и b. а за n писах число, но незнам дали може и затова оставих n
Активен

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #5 -: 15.11.2006, 10:54:51 »

за какво ти е този цикъл?
няма ли да събираш a и b еднократно?
с едно пускане на програмата - един резултат, аз това виждам от нея? ако е така нямаш нужда от цикъл (бтв на цикъла може да имаш и конретно число вместо n ).
Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #6 -: 15.11.2006, 10:55:58 »

# include <iostream.h>
void main ( )
{
int vector [1]; // това къде се използва?
int a,b;
cout<< “въведете дължината на векторите”;
cin>>a>>b; // окей въвеждаш 2 стойности
float c; // може и double да е

if(a==b) c=a+b ;
cout<<”резултатния вектор е”<<c;
}

така няма ли да стане? ако разбирам правилно идеята...


Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there

ot4aqna

  • Неактивен Неактивен
  • Публикации: 5
Re: задача по c++
« Отговор #7 -: 15.11.2006, 11:03:27 »

 като масив мислех  да  представя векторите. значи става и без for, така ли?
Активен

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #8 -: 15.11.2006, 11:11:24 »

ми аз лично в тази задача мисля , че няма смисъл. виждам , че ще имаш само 2 вектора. "направете програма за сливане на два вектора ".

"с еднаква дължина " - явно трябва да се въведат така, може би трябва да правиш проверка?

Не е казано , че се въвеждат n на брой вектори и от тях да се слеят само тези, които са с еднаква дължина. ..

Дано не те объркам повече  :roll:


Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there

antoniy

  • Управител
  • *
  • Неактивен Неактивен
  • Публикации: 723
    • http://antoniy.net/
Re: задача по c++
« Отговор #9 -: 15.11.2006, 11:13:01 »

# include <iostream.h>
void main ( )
{
int vector [1]; // това къде се използва?
int a,b;
cout<< “въведете дължината на векторите”;
cin>>a>>b; // окей въвеждаш 2 стойности
float c; // може и double да е

if(a==b) c=a+b ;
cout<<”резултатния вектор е”<<c;
}

така няма ли да стане? ако разбирам правилно идеята...




Да. Така става, но само ако искаш да напишеш толкова неща, за да събереш 2 целочислени числа, ако те са равни, в трето и да го отпечаташ. Май-май задачата не е такава. :)

За двата вектора в и трябват 2 масива или 1 двумерен масив от 2 реда и N стълба, който да използвате за двата вектора (N може да го сложите 100 например, защото на тоя етап никой не може да ви иска динамично заделяне на масив).

int vtr1[100], vtr2[100];

Въвеждаш a <=100, за да зададеш дължината на вектора, който искаш да ползваш (b не ти е необходимо, защото е казано, че двата вектора са с еднаква дължина).

После си завърташ един цикъл от 0 до a-1, за да въведеш стойностите на всеки вектор и после си извършваш исканото в задачата.
Активен
Too short signature limits.

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #10 -: 15.11.2006, 11:15:20 »

аа сега стана ясно  :-D айде ot4aqna не се отчайвай !  :wink:
Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there

Stilgar

  • Неактивен Неактивен
  • Публикации: 843
Re: задача по c++
« Отговор #11 -: 15.11.2006, 11:28:16 »

emi niama smisul da povtariam tova koeto cipher e napisal
samo shte kaje che vektora matematicheski e mnojestvo ot koordinati
vuprosnoto se predstavia programno chrez masivi ili spisuci, no ne zakachai spisucite na toia etap

chisto na programistki jargon zadachata zvuchi taka
imash 2 masiva s ednakva duljina slei gi v 3ti kato reduvash elementite

no e vajno da se nauchish da si prevejdash matematicheskite termini v programistki zashtoto programite sa neobhodimi za realnia sviat koito ne e programmer friendly, a si e chista matematika
Активен
"Човек винаги трябва да си прави background" - Lia

ot4aqna

  • Неактивен Неактивен
  • Публикации: 5
Re: задача по c++
« Отговор #12 -: 16.11.2006, 23:20:58 »

благодаря ви, че ми помогнахте. допуснаха ме до изпита и изкарах 5
:)
Активен

Ivelinka

  • Неактивен Неактивен
  • Публикации: 430
    • My YouTube
Re: задача по c++
« Отговор #13 -: 17.11.2006, 10:05:45 »

vidq li, samo deto se pritesnqvashe  :wink:
Активен
There is always something waiting at the end of the road... if you are not willing to see it, you probably shouldn't be there