Адачи На Одномерные Массивы, Процедуры И Функции На C++

Fazer77777

New Member
30.06.2012
4
0
#1
<!--QuoteBegin-Fazer77777;3223602+-->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top">
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quote-bg.gif'); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top">
</td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url('style_images/ckr/quotes/quot-lr-bg.gif')" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top">
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quot-bye-bg.gif')" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">(Fazer77777;3223602)</span></td> <td class="vbquote" valign="top">
</td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url('style_images/ckr/quotes/quot-top-bg.gif')" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top">
</td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-left.gif')"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-right.gif')"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quot-left-bg.gif')"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->Доброго времени суток! Прошу помощи в решении следущих задач, которые впрочем можно решить и на Borland C++ Builder, но я предпочитаю Visual C++:

Array:

Array41. Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов.

Array81. Дан массив размера N и целое число K (1 меньше или равен K < N). Осуществить сдвиг элементов массива вправо на K позиций (при этом A[sub]1[/sub] перейдет в A[sub]K+1[/sub], A[sub]2[/sub] — в A[sub]K+2[/sub], …, A[sub]N–K[/sub] — в A[sub]N[/sub], а исходное значение K последних элементов будет потеряно). Первые K элементов полученного массива положить равными 0.

Proc:

Proc20. Описать функцию TriangleP(a, h), находящую периметр равнобедренного треугольника по его основанию a и высоте h, проведенной к основанию (a и h — вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты. Для нахождения боковой стороны b треугольника использовать теорему Пифагора:
b[sup]2[/sup] = (a/2)[sup]2[/sup] + h[sup]2[/sup].

Картины у меня никакой нету, какие решения нашёл у других студентов пытаюсь как-то переделать. Совершенно не знаю как более лёгкий сделать, берусь за более сложный, потому что пример подобный есть.

Собственно вот две не рабочее мои попытки:

C++:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int N,K,i,l,b,c;
int A;
cout <<"Vvedite N=";
cin >> N;
cout <<"Vvedite K=";
cin >> K;
float a[10];
for(i=0;i<N;i++)
{
cout <<" Vvedite element massiva=";
cin >> a[i];
}
l=a[0];
for(i=0;i<N+K;i++)
{
a[i]=a[i+K];
cout <<"\n Novui element massiva="<<a[i];
}
cout <<"\n Novui element massiva="<<l;

getch();
}



#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int N,K,i,l,b,c;
int A;
cout <<"Vvedite N=";
cin >> N;
cout <<"Vvedite K=";
cin >> K;
float a[10];
for(i=0;i<N;i++)
{
cout <<" Vvedite element massiva=";
cin >> a[i];
}
l=a[0+K];
for(i=0;i<N+K;i++)
{
a[i]=a[i+K];
cout <<"\n Novui element massiva="<<a[i];
}
cout <<"\n Novui element massiva="<<l;

getch();
}
Обе Array81. С остальными примеров схожих нет, и не знаю как вобще хоть как-то попытаться.


Ничего преподавателями не обяснялось. Все задачи самостоятельные. Идёт очень туго. Предыдущие решил, остались эти 3 до получения зачёта. Кто обладает знаниями в этой сфере прошу откликнуться.:(<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table>
<!--QuoteEEnd-->
 
R

rrrFer

Гость
#2
могу решить, 150р за задачу.
Ваши решения странны. Задачи на массивы друг на друга не похожи, но ваши решения отличаются несколькими символами.
В решениях полный бред, безусловно.
Если в массиве N элементов, то тут вы выйдете за пределы массива.
Код:
for(i=0;i<N+K;i++)
{
a[i]=a[i+K];
если K = 5, N = 10, например - то наибольшее значение i в цикле будет 14, тогда выполняется a[ 14 ] = a[ 19 ]. Но есть всего 10 элементов...что за бред? - а самое главное, причем тут условие задачи: "Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов." ?