forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Помогите.Задачи в С++ Борланд (http://forum.boolean.name/showthread.php?t=1023)

FeaDell 16.06.2006 22:33

Помогите.Задачи в С++ Борланд
 
Ребят,извините если тему не там создал,или даже если ей нет места на всем форуме,но нужна Ваша помощь.
Помогите решить задачу в С++ Борландв понедельник надо сдавать,а не сдам пролечу с экзаменом. в общем вот задача,надеюсь для многих она окажется как 2 палшьца об асфальт,ну а ктото еще возьмет и напишит мне ее сюда:

Составить подпрограмму нахождения длны ( l ) вектора ( a )
по его компонентам,заданым массивом А.
Используя подпрограмму найти длины 3 векторов,заданых массивами U,V,W; Вывести U,V,W и их длины.
U {-1, 0, 1}
V {1,25; -2,8: 0,003}
W {-2; 1,333; 0}

Это задача. Если кто сделает.Помогите еще сделать блок схему,с таблицей идентификаторов.
Еще раз извиняюсь если не там создал тему.

impersonalis 16.06.2006 22:40

Задача - как два байта переслать, но времни сейчас по нулям - завтра вернусь, сделаю полюбэ!
Я так понимаю - приложение для DOS-эмуляции?

FeaDell 16.06.2006 23:00

ЭЭЭЭЭэээ нашел чего спросить:).Я с компом обрашаться умею,знаю что такое Дос(даже работал в нем),знаю что такое эмуляция.Но сложить твои слова в популярную для меня фразу не могу.
И еще:Стою книжку покупаю для С++,там есть и для продвинутых и для профессионалов,а есть еще и для чайников.Так вот мне нужен был бы 4 вариант ДЛЯ СОВЕРШЕННО НИЧЕГО НЕ ЗНАЮЩЕГО ЧЕЛОВЕКА.Ниже Чайника и Ламера на 10 пунктов.Вот так что просьба, не надо говорить мне предложения типа:"вот тут идентификатор,ставишь его перед массивом,запускаешь цикл" :)
С УВАЖЕИЕМ. :)

Magus 16.06.2006 23:45

Вроде как так. :)
Код:

#include <stdio.h>
#include <math.h>

//описание подпрограммы
float vect(float a[])
{
        return sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]); //считаем длину вектора
}


//основная часть программы
main()
{
        //объявляем три массива, задающий значения трех векторов
        float u[3]={-1,0,1};
        float v[3]={1.25, -2.8, 0.003};
        float w[3]={-2, 1.333, 0};


        /*выводим на экран значения самих векторов и их длин
        %f означает, что мы выводим число типа float;
        координаты векторов мы указываем непосредственно,
        а длины - вызываем нашу функцию vect. */
        printf("u=(%f, %f, %f); |u|=%f\n", u[0], u[1], u[2], vect(u));
        printf("v=(%f, %f, %f); |v|=%f\n", v[0], v[1], v[2], vect(v));
        printf("w=(%f, %f, %f); |w|=%f\n", w[0], w[1], w[2], vect(w));
}


FeaDell 17.06.2006 02:39

Ага, вот круто.Хотелось бы что б еще кто нить подумал над прогой. Но ОГРОМНОЕ СПАСИБО.
По программе:
теперь нужно нажать Ctrl+F9 в появившемся окне ЭЭЭЭ,что там нужно ввести??? А потом нажать Alt+F5 и прога должна будет ВВЫВЕСТИ МАССИВЫ. подчеркиваю. Препод у меня не много с заглюками,по этому требует весьма полно.Т.е. наиболее развернуто.
И кстати где скачать можно в свободном доступе Borland только желатьелно не последнее версии.У нас там стоят елси не ошибаюсь 3.33.1 или чтото подобное,в общем главное что только не 6 версии была.Хотя эт по большому счету не главое.
Magus Спасибо огромное.

Magus 17.06.2006 09:13

Вложений: 2
Цитата:

прога должна будет ВВЫВЕСТИ МАССИВЫ
Э-э...вывести массивы не означает вывести все их элементы?
Если означает, то программа это делает:
Код:

printf("u=(%f, %f, %f); |u|=%f\n", u[0], u[1], u[2], vect(u));
printf("v=(%f, %f, %f); |v|=%f\n", v[0], v[1], v[2], vect(v));
printf("w=(%f, %f, %f); |w|=%f\n", w[0], w[1], w[2], vect(w));

А если не означает, то я ничего не понимаю в этой жизни...

Цитата:

И кстати где скачать можно в свободном доступе Borland только желатьелно не последнее версии.
У меня Borland C++ 2.0. Если надо, бери.

FeaDell 17.06.2006 14:03

В том и дело что вывести массивы означает,что после того как программа все посчитала,она выводит каждый массив в матричном виде,каждый элемент.(может мы просто не понимаем друг друга)
Выглядит так.
1 массив -1 0 1
2 массив 1,25 -2,8 0,003
3 массив -2 1,333 0
В прошлой программе что б такого добиться я печатал в конце проги:
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
cout <<d[i][j]<<" "
}
cout "\n"
не помню точно ли поставил скопки({}) это пример. d-массив,i-сторока,j-столбец. Вот.Спасибо за С++

impersonalis 17.06.2006 15:33

Код:

#include<iostream.h>
#include<conio.h>
#include<math.h>


double GetL(double v[3]){
        return sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]);
}

void main(){
        double U[]={-1, 0, 1};
        double V[]={1.25, -2.8, 0.003};
        double W[]={-2, 1.333, 0};
        cout<<U[0]<<";"<<U[1]<<";"<<U[2]<<" |"<<GetL(U)<<endl;
        cout<<V[0]<<";"<<V[1]<<";"<<V[2]<<" |"<<GetL(V)<<endl;
        cout<<W[0]<<";"<<W[1]<<";"<<W[2]<<" |"<<GetL(W)<<endl;
        cout<<endl;
        getch();
}

2Magus:
не надо пугать человка, смешивая С и С++ ;)

jimon 17.06.2006 18:53

у меня какоето чуство что ето не будет пахать в борланде
(может ошибаюсь)

FeaDell 17.06.2006 20:50

А блин совсем забыл. impersonalis у тебя в проге сосем не понятные мне слова есть. Реально ли переземенить все на 4 основные функции(если правильно выражаюсь),короче говоря,написать программу примитивом.Не исползуя какие то приемы укорачивающие проги до 15 сторк.
Спасибо за помощь :)

Magus 17.06.2006 21:12

FeaDell, он написал то же, что и я, только заменил тип float на тип double, а printf(вывод на экран) на cout. Ну и в конце программы поставил задержку до нажатия клавиши.

Цитата:

Реально ли переземенить все на 4 основные функции(если правильно выражаюсь)
Чет не очень понял, что именно заменить?
Цитата:

написать программу примитивом.Не исползуя какие то приемы укорачивающие проги до 15 сторк.
Программа и так написана предельно примитивно.
Если честно, не знаю, как сделать ее объемней...

FeaDell 18.06.2006 02:32

Ладно надо попробовать.Попробую.Спасибо Всем за помощь.РЕальнро очень помогли.Еще бы экзамен сдать :)

impersonalis 18.06.2006 03:13

2FeaDell: обращайся ;)

FeaDell 19.06.2006 20:16

Спасиб всем.Использовал вариант Magus'а,препод экзамен до меня принимал поэтому совсем измотаная была,поставила,допустила завтра на экзамен.Теперь надо что то думать по поводу задачи на экзамене.

FeaDell 04.07.2006 09:34

РЕБЯТ ОПЯТЬ НУЖНА ВАША ПОМОЩЬ.
Еще раз ужасно извиняюсь,нужно решить подобную задачку.
Вот она:
Составить подпрограмму определения наиблольшего элемента массива А,используя подпрограмму написать программу нахождения разности rs максимальных по модулю элементов массивов А и В, ввести А и В вывести А,В и rs.
А 100;1;25,6;700,1;
И 12,5;-130;0;335;-7; 45,1;

Вот такая задачка. Помогите пожалуйста.в ближайшее время сдавать. :)


Часовой пояс GMT +4, время: 18:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot