2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Задачи на Одномерные массивы, Процедуры и функции на C++
Сообщение29.06.2012, 22:50 
Аватара пользователя


09/05/12
4
Доброго времени суток! Прошу помощи в решении следущих задач, которые впрочем можно решить и на Borland C++ Builder, но я предпочитаю Visual C++:

Array:

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

Array81. Дан массив размера N и целое число K (1 меньше или равен K < N). Осуществить сдвиг элементов массива вправо на K позиций (при этом $A_1$ перейдет в $A_{K+1}$, $A_2$ — в $A_{K+2}$, …, $A_{N–K}$ — в $A_N$, а исходное значение K последних элементов будет потеряно). Первые K элементов полученного массива положить равными 0.

Proc:

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

Более менее какая никакая попытка с Array81, а точнее 2:
Код:
#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();
}

А с остальными ничего не выходит :-(

Ничего преподавателями не обяснялось. Все задачи самостоятельные. Идёт очень туго. Предыдущие решил, остались эти 3 до получения зачёта. Кто обладает знаниями в этой сфере прошу откликнуться.

 Профиль  
                  
 
 Re: Задачи на Одномерные массивы, Процедуры и функции на C++
Сообщение29.06.2012, 22:59 
Админ форума
Аватара пользователя


19/03/10
8952
 i  Тема перемещена в Карантин.

Приведите свои попытки решения задач и объясните, что конкретно вызывает затруднения.

После того как исправите сообщение, сообщите об этом в теме Сообщение в карантине исправлено.
________________
Всякий, кто поступил в университет, но не хочет сам учиться - враг своей страны, подрывающий ее научно-технический, интеллектуальный и оборонный потенциалы.
(c) по мотивам сообщения Yuri Gendelman.

 Профиль  
                  
 
 Posted automatically
Сообщение30.06.2012, 11:40 
Админ форума
Аватара пользователя


19/03/10
8952
 i  Тема перемещена из форума «Карантин» в форум «Программирование»

 Профиль  
                  
 
 Re: Задачи на Одномерные массивы, Процедуры и функции на C++
Сообщение05.07.2012, 09:58 


12/06/12
34
Fazer в сообщении #590472 писал(а):

Более менее какая никакая попытка с Array81, а точнее 2:
Код:
#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();
}




Как то так:
код: [ скачать ] [ спрятать ]
Используется синтаксис C
#include <stdio.h>

int main()
{
  const int n=10;
  float a[n];
  int i=0;
  for(i=0; i<n; i++)
    a[i]=i*i+0.5;
  for(i=0; i<n; i++)
    printf("%2.3f;  ",a[i]);
  printf("\n");

 int k;

  scanf("%d", &k);
  printf("k=%d\n", k);

  if((k<1)||(k>n))
  {
    printf("error: k=%d not in [1, %d]\n", k, n);
    return 1;
  }
    
       
    for(i=n-1; i>=0; i--)
   {
     if(i+k<n)
       a[i+k]=a[i];
     if(i<k)
       a[i]=0;
   }
  
for(i=0; i<n; i++)
    printf("%2.3f;  ",a[i]);
  printf("\n");
  

  return 0;

}

 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group