|
|
|
| Помогите пожалуйста с программой:
Задание: В массиве X[N] найти значение минимального положительного элемента массива и найти, сколькотаких элементов.
Мой код:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{double X[N],min,Nmin;
int k,i;
cout<<"N=";
cin>>N;
cout<<"MASSIV X/N";
for (i=k=0;i<n;i++)
if (X[N]>0) k++;
if (k==1)
{min=X[N];
Nmin=N;}
else if (X[N]<min)
{min=X[N];
nmin=n;}
cout<<"X("<<N<<")="<<X[N]<<"\n";
system("PAUSE");
return EXIT_SUCCESS;
}
Я не сильно разбираюсь с массивами, очень хочу разобраться. | |
|
|
|
|
|
|
|
для: Cena
(26.11.2011 в 18:11)
| | Можно начать отталкиваться от следующей программы
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
double min, Nmin;
double *X;
int k, i, N;
// Запрашиваем количество элементов в массиве
cout << "N = ";
cin >> N;
// Выделяем память под массив
X = new double[N];
// Просим пользователя ввести значения
for(i = 0; i < N; i++)
{
cout << "MASSIV X/" << i + 1 << " = ";
cin >> X[i];
}
// Ищем минимальный элемент
min = X[0];
Nmin = 0;
for(i = 0; i < N; i++)
{
if(min > X[i])
{
min = X[i];
Nmin = i;
}
}
// Выводим результа
cout << "X(" << Nmin << ")=" << min << "\n";
// Освобождаем динамически выделенную память
delete [] X;
// Остановка перед закрытием окна
system("PAUSE");
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(26.11.2011 в 20:00)
| | Спасибо, а вот я ввожу при выполнении программы:
N=4
MASSIV X/1=1
MASSIV X/2=1
MASSIV X/3=2
MASSIV X/4=3
X{0}=1, минимальный элемент 1 и должно быть в скобочках количество минимальных элементов?
А как эту строку понять MASSIV X/1 ? | |
|
|
|
|
|
|
|
для: Cena
(26.11.2011 в 20:41)
| | А... ясно сейчас сделаем.
>А как эту строку понять MASSIV X/1 ?
Собственно это просто приглашение для ввода очередного элемента массива X, числом указывается номер текущего элемента. Это можно исправить по собственному усмотрению. | |
|
|
|
|
|
|
|
для: Cena
(26.11.2011 в 20:41)
| | Количество повторяющихся минимальных элементов, можно посчитать при помощи отдельного цикла
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
double min, Nmin;
double *X;
int k, i, N;
// Запрашиваем количество элементов в массиве
cout << "N = ";
cin >> N;
// Выделяем память под массив
X = new double[N];
// Просим пользователя ввести значения
for(i = 0; i < N; i++)
{
cout << "MASSIV X/" << i + 1 << " = ";
cin >> X[i];
}
// Ищем минимальный элемент
min = X[0];
Nmin = 0;
for(i = 0; i < N; i++)
{
if(min > X[i])
{
min = X[i];
Nmin = i;
}
}
for(i = 0, k = 0; i < N; i++)
{
if(min == X[i]) k++;
}
// Проверяем сколько таких элементов в вмассиве
// Выводим результа
cout << "X(" << Nmin << ")=" << min << "(" << k << ")\n";
// Освобождаем динамически выделенную память
delete [] X;
// Остановка перед закрытием окна
system("PAUSE");
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(26.11.2011 в 20:51)
| | Спасибо, понятненько. | |
|
|
|