Показать полную графическую версию : [решено] Помогите решить задачу по С++
Страниц :
1
2
3
4
5
6
7
[
8]
9
10
11
12
13
14
15
16
Profi_Boss
06-11-2010, 02:47
вауу, именно помогли ребята, могли бы хоть сказать, что надо хотя бы подключить библиотеку специальную math.h, для начала. обьяснили вкратце уже мне
Profi_Boss, опять таки, не сочти за грубость, но ты мог бы вразумительнее рассказать о проблеме.
А раз про проблемы реализации ты ничего не сказал, то и был отправлен учить основы. :read:
По запросу в гугл sin(x) C++ нашелся пост на другом (http://www.cyberforum.ru/visual-cpp/thread103775.html) форуме. Задача оказалась типовой.
Profi_Boss
13-11-2010, 13:51
Задан массив целых чисел. Необходимо распечатать его элементы в порядке возрастания значений.
Можете написать код программы с обьяснением?
Profi_Boss, Любой Алгоритм_сортировки (http://ru.wikipedia.org/wiki/Алгоритм_сортировки) + вывод массива на экран.
Где-то была программа, где приводился код на Pascal, его пошаговое выполнение, тестовый массив. Для обучения была хорошо, но вот по руку не попалась.
Помогите с программой плиз)
задание на массивы а я в них не очень шарю((
Необходимо составить структурированную программу построения целочисленного вектора b1,b2,b3 ,где bi имеет значение I если наибольший элемент в строке с номером i вещественной матрицы {aij}(3 на 3) не больше х;и и значение W в противном случае.
если можно,с объяснением,заранее спасибо)
DennyD,
for(int i=0;i<3;i++) //бежим по строкам с нулевой по вторую
{
if(a[0][i] > x || a[1][i] > x || a[2][i] > x) //если максимальный элемент больше x
b[i] = W; //b[i] принимает значение W
else
b[i] = I; //в противном случае b[i] принимает значение I
}
Создание и заполнение массива a, и создание массива b напишешь сам.
помогите с кодом пожалуйста!
//известно что у заданного вещественного вектора х1,х2,...х10 есть по крайней мере одна отрицательная компонента.Нужно составить программу определения колличества компонент предшевствующих первой по порядку отрицательной компоненте,!Значения которых принадлежат промежутку [0;0.5]!
все в принципе несложно но никак не могу понять как сделать выбор заначений из[0;0.5]
вот моя программа(просто считает колличество компанент перед первой отрицательной):
#include <iostream.h>
#include <conio.h>
#define n 10
void main()
{
int k = 0, i;
float x[n];
cout<<"enter components please\n";
for (i = 0; i < n; i++)
cin>>x[i];
for (i = 0; i < n; i++){
k += i;
if (x[i] < 0)
break;
else
k = 0;
}
cout<<"k = "<<k;
getch();
}
#include <iostream.h>
#include <conio.h>
#define n 10
void main()
{
int k = 0, i;
float x[n];
cout<<"enter components please\n";
for (i = 0; i < n; i++)
cin>>x[i];
for (i = 0; i < n; i++){
k += i;
if (x[i] < 0)
break;
else
k = 0;
}
cout<<"k = "<<k;
getch();
} »
второй цикл надо оформить так:
for (i = 0; i < n; i++){
if (x[i] < 0)
break;
else
if (x[i]<0.5) k+=1; //сюда попадут только числа в пределах (0;0.5) т.к. отрицательные уже исключены предыдущим if
}
спсибо))все вообще сделал в 1 цикл))
for (i=0;i<n;i++)
{
if (x[i]<0)
break;
else if (x[i]<=0.5)
k+=1;
else
k=0;
}
а если у вас вектор начинается так:
0.3 4 -2 ..
что выдаст ваша программа?) не надо обнулять k
да вы правы))спасибо большое за помощь)только не понимаю почему когда обнуляешь к он выдает колличество равное нулю при первом элементе массива из промежутка [0;0.5] а следущем целым((а не 1
Ну как же?
В тексте программы написано что если некий элемент вектора не входит в заданный участок, то счетчик приравнять 0. а дальше он будет считать уже заново.
аа все понял спасибо огромное))
Нужно создать массив C из массивов A и B.Но только чтобы в массив C не попали элементы массива A,а только элементы массива B.Новый массив нужно упорядочить.Индексы массива вводим.Сами элементы рандомом создаются.Вот прога в сыром виде,ниче не пашет есс-но
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include <math.h>
#include "Ctime"
using namespace std;
int* delMas(int mas[], int &n, int ud_el);
void main();
{
int n,m;
int A[100],B[100]
cout << "Enter n: ";
cin >> n;
cout << "Enter m: ";
cin >> m;
if(n>100||m>100||n<0||m<0)
cout<<"error!";
int *(A) = new int [n];
for(int i=0;i<n;i++)
{
A[i]=rand()%100;
}
int *(B) = new int [n];
for(int i=0;i<n;i++)
{
B[i]=rand()%100;
}
cout<<"mas A ";
for(int i=0;i<n;i++)
{
cout<<A[i]<<" "<<endl; }
cout<<"mas B ";
for(int i=0;i<n;i++)
{
cout<<B[i]<<" "<<endl;}
for(int i=0;i<m;i++)
{
bool b=true;
for(int j=0;j<n;j++)
{
if(B[i]==A[j])
{
b=false;
break;
}
}
if(b == true)
{
C[k]=B[i];
k++;
}
}
bool t;
do
{
t=true;
for(int i=0;i<k-1;i++)
if(C[i]>C[i+1])
{
int temp=C[i+1];
C[i+1]=C[i];
C[i]=temp;
t=false;
}
}while (!t);
for(int i=0;i<k;i++)
cout<<"C["<<i<<"]= "<<C[i]<<endl;
getch();
return ;
}
Нужно создать массив C из массивов A и B.Но только чтобы в массив C не попали элементы массива A,а только элементы массива B. »
а зачем тогда массив А? упорядочить как? возрастание\убывание? достаточно отсортировать массив B или я чего-то не понял?
Hector,
На основе исходных массивов A[n] и B[m] (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел, которые входят в массив B, но при этом не входят в массив A. Упорядочить массив С по возрастанию, используя метод «пузырька». Вывести элементы массивов A, B и С на экран. Массивы A, B и C являются целочисленными. Значения m и n вводятся пользователем с клавиатуры. Значения элементов массивов A и B генерируются при помощи датчика случайных чисел. Элементы внутри массивов A и B не должны повторяться.
Вижу такие ошибки:
1. Вызов стандартных заголовочных файлов как пользовательски h-файлов, через двойную кавычку, а не <iostream>, и т.д.
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "Ctime"
2. Почему после функции точка с запятой?
...
void main();
...
3. Где здесь точка с запятой и инициализация масивов?...
int A[100],B[100]
...
4.Каким методом вы создаёте масивы, динамические или постоянные? Как их создать правильно?
int *(A) = new int [n];
int *(B) = new int [n];
5. Где у вас создаётся массив С с размером равным массивам А и В? У вас его нет. Допишите.
int *C = new int [n * m];
6. Откуда у нас взялась переменная k и что это за переменная? Почему она не объявлена и не инициализирована?
C[k]=B[i];
k++;
Drongo,
мне бы надо постоянные массивы
У меня же нужен динамический массив,а я использую указатели,что делать?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.