#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
clrscr();
int n;
cout<<"Input number:"<<endl;
cin>>n;
int *mass = new int[n];
cout<<"All massiv: "<<endl;
for(int i = 0; i < n; i++)
{
mass = 50 - rand() % 100; // [-50; 50]
cout<<mass<<" ";
}
int min = 100;
for(i = 0; i < n; i++)
if(abs(mass) < abs(min))
min = mass;
cout<<endl<<"Minimum element: "<<min;
getch();
return 0;
}
Задачи на массивы(С++)
1. Минимальный по модулю элемент массива.
2. Сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Преобразовать массив таким образом, чтобы в первой его половине расположились элементы, стоящие в чётных позициях, а во второй половине – элементы стоявшие в нечётных позициях.
3. Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицей размером 10 на 10.
Найти сумму модулей элементов, расположенных выше главной диагонали.
4. Написать программу, которая считывает английский текст из файла и выводит на экран слова с текстом, начинающимся на гласные буквы.
- в одномерном целочисленном массиве размерности n найти сумму чётных элементов. от Максим Лисовский, 11 февраля 2014 года
VPA, прогу-то на чем надо (Pascal,C++,Basic)?
Цитата:
Originally posted by VPA
2. В одномерном массиве, состоящем из n целых элементов, вычислить:
1. Минимальный по модулю элемент массива.
2. В одномерном массиве, состоящем из n целых элементов, вычислить:
1. Минимальный по модулю элемент массива.
На С++:
Код:
Цитата:
Originally posted by VPA
2. В одномерном массиве, состоящем из n целых элементов, вычислить:
2. Сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
2. В одномерном массиве, состоящем из n целых элементов, вычислить:
2. Сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Код:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
clrscr();
int n;
cout<<"Введите количество элементов:"<<endl;
cin>>n;
int *mass = new int[n];
cout<<"Весь массив: "<<endl;
for(int i = 0; i < n; i++)
{
mass = 20 - rand() % 40; // [-20; 20]
cout<<mass<<" ";
}
int flagNull = 0;
int sumAbs = 0;
for(i = 0; i < n; i++)
{
if(mass == 0)
flagNull = 1;
if(flagNull == 1)
sumAbs += abs(mass);
}
cout<<endl<<"Сумма элементов: "<<sumAbs;
getch();
return 0;
}
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
clrscr();
int n;
cout<<"Введите количество элементов:"<<endl;
cin>>n;
int *mass = new int[n];
cout<<"Весь массив: "<<endl;
for(int i = 0; i < n; i++)
{
mass = 20 - rand() % 40; // [-20; 20]
cout<<mass<<" ";
}
int flagNull = 0;
int sumAbs = 0;
for(i = 0; i < n; i++)
{
if(mass == 0)
flagNull = 1;
if(flagNull == 1)
sumAbs += abs(mass);
}
cout<<endl<<"Сумма элементов: "<<sumAbs;
getch();
return 0;
}
Спасибо огромное!!!
Если сможешь помоги!!!
тут есть несколько ошибок,например нет строчки using namespace std;не везде,где надо описана переменная i.ну и если ща отлажу,напишу.да,кст,для автора вопроса, это и есть с++. конечно понимаю,что это было 4года назад,но напишу все равно,тк много таких как я ищут подобную задачу на сайтах программистов
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main()
{
const int n=12;
int i;
int *mass =new int(n);
cout<<"All massiv: "<<endl;
for(int i = 0; i<n; i++)
{
mass = 50 - rand() % 100; // [-50; 50]
cout<<mass<<" ";
}
int min;
for( int i = 0; i < n; i++)
{
min=mass[1];
if( abs( min)>abs(mass))
min = mass;
}
cout<<"\n Minimum element: "<<min;
cout<<endl;
_getch();
return 0;
}
1) Определить количество столбцов матрицы, у которых сумма элементов больше заданной величины.
2) Найти максимальное значение среди элементов, расположенных выше главной и побочной диагоналей.
Я новичок. Мне нужно срочно решить данные две задачи. К сожалению, я с ними не справилась. Думаю решать надо с использованием цикла for.
Цитата: Eclat
Дана целочисленная квадратная матрица.
1) Определить количество столбцов матрицы, у которых сумма элементов больше заданной величины.
2) Найти максимальное значение среди элементов, расположенных выше главной и побочной диагоналей.
Я новичок. Мне нужно срочно решить данные две задачи. К сожалению, я с ними не справилась. Думаю решать надо с использованием цикла for.
1) Определить количество столбцов матрицы, у которых сумма элементов больше заданной величины.
2) Найти максимальное значение среди элементов, расположенных выше главной и побочной диагоналей.
Я новичок. Мне нужно срочно решить данные две задачи. К сожалению, я с ними не справилась. Думаю решать надо с использованием цикла for.
вот такой код на С++:)
Код:
#include <iostream>
#include <locale.h>
#include <iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); //чтоб буковки русские были:)
int n; //размерность матрицы
int i, j;
cout<<"Введите размерность матрицы:\n";
cin>>n;
int **A = new int* [n];
for (i=0; i<n;i++)
{
A=new int[n];
for (j=0;j<n;j++)
{
A[j] = rand()%10; //заполняем матрицу случайным образом (10 можно заменить на 100, например)
}
}
//вывод матрицы на экран
cout<<"Сформированная матрица:\n";
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw(5)<<*(*(A+i)+j)<<ends;
cout<<endl;
}
///определим количество столбцов у которых сумма элементов больше заданной величины.
int value=0; //задаваемая величина
cout<<"Введите число:\n";
cin>>value;
int count=0; //счётчик столбцов
for (i=0; i<n; i++)
{
int sum=0; //сумма эл. столбца
for (j=0; j<n; j++)
{
sum+=A[j];
}
//если сумма эл. столбца > заданного числа увеличиваем счётчик
if (sum>=value)
{
count++;
}
cout<<"Столбец "<<i+1<<" сумма элементов = "<<sum<<endl;
}
cout<<"Cтолбцов у которых сумма элементов больше заданной величины: "<<count<<endl;
/*///определим макс эл. над главной и над побочной диагоналями
(элементы находящиеся непосредственно на диагонали не учитываются)*/
int max1= A[0][1]; //макс. эл. над главной диагональю
int max2= A[0][0]; //макс. эл. над побочной диагональю
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
//над главной диагональю
if (i<j && A[j]>max1)
{
max1 = A[j];
}
//над побочной диагональю
if (i+j<n-1 && A[j]>max2)
{
max2 = A[j];
}
}
}
cout<<"Mакс элемент над главной диагональю: "<<max1<<endl;
cout<<"Mакс элемент над побочной диагональю: "<<max2<<endl;
delete A;
return 0;
}
#include <locale.h>
#include <iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); //чтоб буковки русские были:)
int n; //размерность матрицы
int i, j;
cout<<"Введите размерность матрицы:\n";
cin>>n;
int **A = new int* [n];
for (i=0; i<n;i++)
{
A=new int[n];
for (j=0;j<n;j++)
{
A[j] = rand()%10; //заполняем матрицу случайным образом (10 можно заменить на 100, например)
}
}
//вывод матрицы на экран
cout<<"Сформированная матрица:\n";
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw(5)<<*(*(A+i)+j)<<ends;
cout<<endl;
}
///определим количество столбцов у которых сумма элементов больше заданной величины.
int value=0; //задаваемая величина
cout<<"Введите число:\n";
cin>>value;
int count=0; //счётчик столбцов
for (i=0; i<n; i++)
{
int sum=0; //сумма эл. столбца
for (j=0; j<n; j++)
{
sum+=A[j];
}
//если сумма эл. столбца > заданного числа увеличиваем счётчик
if (sum>=value)
{
count++;
}
cout<<"Столбец "<<i+1<<" сумма элементов = "<<sum<<endl;
}
cout<<"Cтолбцов у которых сумма элементов больше заданной величины: "<<count<<endl;
/*///определим макс эл. над главной и над побочной диагоналями
(элементы находящиеся непосредственно на диагонали не учитываются)*/
int max1= A[0][1]; //макс. эл. над главной диагональю
int max2= A[0][0]; //макс. эл. над побочной диагональю
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
//над главной диагональю
if (i<j && A[j]>max1)
{
max1 = A[j];
}
//над побочной диагональю
if (i+j<n-1 && A[j]>max2)
{
max2 = A[j];
}
}
}
cout<<"Mакс элемент над главной диагональю: "<<max1<<endl;
cout<<"Mакс элемент над побочной диагональю: "<<max2<<endl;
delete A;
return 0;
}
Спасибо огромное!!! Даже не представляете, как помогли! =) Я разобралась и даже самостоятельно написала!!! =) Спасибо! =)
Цитата: Eclat
Спасибо огромное!!! Даже не представляете, как помогли! =) Я разобралась и даже самостоятельно написала!!! =) Спасибо! =)
рад что помог))
1.Найти номера всех элементов, равных по модулю заданному числу, в одномерном массиве целых чисел с числом элементов 10. Массив и искомое число вводится с клавиатуры.
2.Дан массив из 10 вещественных элементов. Массив вводится с клавиатуры. Заменить его элементы с четными номерами на сумму всех предыдущих нечетных элементов.
Цитата: Илонка
Помогите пожалуйста!!!
1.Найти номера всех элементов, равных по модулю заданному числу, в одномерном массиве целых чисел с числом элементов 10. Массив и искомое число вводится с клавиатуры.
1.Найти номера всех элементов, равных по модулю заданному числу, в одномерном массиве целых чисел с числом элементов 10. Массив и искомое число вводится с клавиатуры.
Код:
#include <iostream>
#define mSize 10 //размер массива
using namespace std;
int main()
{
int n=-1;
//ввод только неотрицательных чисел
while(n<0)
{
cout<<"Vvedite chislo:\n";
cin>>n;
}
//создание массива из 10 элементов
int *mas = new int[mSize];
//заполнение массива
cout<<"Zapolnite massiv:\n";
for (int i=0; i<mSize; i++)
{
cout<<"Vvedite "<<i+1<<" element massiva: ";
cin>>mas;
}
cout<<"\nNomera elementov:\n";
//поиск номеров всех элементов, равных по модулю заданному числу
for (int i=0; i<mSize; i++)
{
if (abs(mas)==n)
{
cout<<i+1<<" ";
}
}
//освобождаем память
delete[] mas;
return 0;
}
#define mSize 10 //размер массива
using namespace std;
int main()
{
int n=-1;
//ввод только неотрицательных чисел
while(n<0)
{
cout<<"Vvedite chislo:\n";
cin>>n;
}
//создание массива из 10 элементов
int *mas = new int[mSize];
//заполнение массива
cout<<"Zapolnite massiv:\n";
for (int i=0; i<mSize; i++)
{
cout<<"Vvedite "<<i+1<<" element massiva: ";
cin>>mas;
}
cout<<"\nNomera elementov:\n";
//поиск номеров всех элементов, равных по модулю заданному числу
for (int i=0; i<mSize; i++)
{
if (abs(mas)==n)
{
cout<<i+1<<" ";
}
}
//освобождаем память
delete[] mas;
return 0;
}
можно было бы обойтись одним циклом, но тогда вывод номеров элементов и ввод данных в массив в кучу сбивался, не красиво:)
Цитата: Илонка
Помогите пожалуйста!!!
2.Дан массив из 10 вещественных элементов. Массив вводится с клавиатуры. Заменить его элементы с четными номерами на сумму всех предыдущих нечетных элементов.
2.Дан массив из 10 вещественных элементов. Массив вводится с клавиатуры. Заменить его элементы с четными номерами на сумму всех предыдущих нечетных элементов.
Код:
#include <iostream>
#define mSize 10 //размер массива
using namespace std;
int main()
{
//создание массива из 10 элементов
int *mas = new int[mSize];
//заполнение массива
cout<<"Zapolnite massiv:\n";
for (int i=0; i<mSize; i++)
{
cout<<"Vvedite "<<i<<" element massiva: ";
cin>>mas;
}
int sum=0; //сумма эл. с нечетными номерами
cout<<"\nResultat:\n";
for (int i=0;i<mSize; i++)
{
if (i%2!=0) //если номер эл. нечетный
{
sum+=mas; //добавляем его к сумме
}
else //если номер эл. четный
{
mas=sum; //заменяем его на сумму
}
cout<<mas<<" "; //вывод
}
cout<<"\n";
//освобождаем память
delete[] mas;
return 0;
}
#define mSize 10 //размер массива
using namespace std;
int main()
{
//создание массива из 10 элементов
int *mas = new int[mSize];
//заполнение массива
cout<<"Zapolnite massiv:\n";
for (int i=0; i<mSize; i++)
{
cout<<"Vvedite "<<i<<" element massiva: ";
cin>>mas;
}
int sum=0; //сумма эл. с нечетными номерами
cout<<"\nResultat:\n";
for (int i=0;i<mSize; i++)
{
if (i%2!=0) //если номер эл. нечетный
{
sum+=mas; //добавляем его к сумме
}
else //если номер эл. четный
{
mas=sum; //заменяем его на сумму
}
cout<<mas<<" "; //вывод
}
cout<<"\n";
//освобождаем память
delete[] mas;
return 0;
}
Напишите функцию которая будет переворачивать двумерный массив (первый элемент станет последним)
Обеспечить ввод количества столбцов и строк с клавы.
Цитата: sash^a
Если кто может, сделать вот такое задание. Киньте код.
Напишите функцию которая будет переворачивать двумерный массив (первый элемент станет последним)
Обеспечить ввод количества столбцов и строк с клавы.
Напишите функцию которая будет переворачивать двумерный массив (первый элемент станет последним)
Обеспечить ввод количества столбцов и строк с клавы.
Код:
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int n,m;
void RevFun(int n,int m, int **a); //
cout<<"Введите количество строк:\n";
cin>>n;
cout<<"Введите количество столбцов\n";
cin>>m;
int **mas = new int* [n];
cout<<"Исходная матрица:\n";
for (int i=0; i<n; i++)
{
mas=new int[m];
for (int j=0; j<m; j++)
{
mas[j] = rand()%100;
cout<<mas[j]<<"\t";
}
cout<<endl;
}
RevFun(n,m,mas);
for (int i=0; i<n; i++)
{
delete[] mas;
}
delete[] mas;
}
void RevFun(int n, int m, int **a)
{
cout<<"Результирующая матрица:\n";
for (int i=n-1; i>=0; i--)
{
for (int j=m-1; j>=0; j--)
{
cout<<a[j]<<"\t";
}
cout<<endl;
}
}
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int n,m;
void RevFun(int n,int m, int **a); //
cout<<"Введите количество строк:\n";
cin>>n;
cout<<"Введите количество столбцов\n";
cin>>m;
int **mas = new int* [n];
cout<<"Исходная матрица:\n";
for (int i=0; i<n; i++)
{
mas=new int[m];
for (int j=0; j<m; j++)
{
mas[j] = rand()%100;
cout<<mas[j]<<"\t";
}
cout<<endl;
}
RevFun(n,m,mas);
for (int i=0; i<n; i++)
{
delete[] mas;
}
delete[] mas;
}
void RevFun(int n, int m, int **a)
{
cout<<"Результирующая матрица:\n";
for (int i=n-1; i>=0; i--)
{
for (int j=m-1; j>=0; j--)
{
cout<<a[j]<<"\t";
}
cout<<endl;
}
}
Код:
delete[] mas;
Цитата: koodeer
Енот_в_Засаде, забыл в конце:
Код:
delete[] mas;
точно, спасибо, сейчас поправлю
И вопрос для rand нужно библиотеку stdlib подключить?
Цитата: sash^a
Енот_в_Засаде, спасибо большое)), не думал, что кто-то поможет.
И вопрос для rand нужно библиотеку stdlib подключить?
И вопрос для rand нужно библиотеку stdlib подключить?
нет)) а зачем спрашивать, если можно самому попробовать;)
Формально функция rand определена в stdlib.h (язык C) или cstdlib (язык C++). Но stdlib очень часто подключается внутри других библиотек, поэтому зачастую её не нужно прямо указывать в своём коде.
Цитата: koodeer
Формально функция rand определена в stdlib.h (язык C) или cstdlib (язык C++). Но stdlib очень часто подключается внутри других библиотек, поэтому зачастую её не нужно прямо указывать в своём коде.
этого не знал...
Помогите пожалуйста!!!
Найти разность RA между max элементами массива A и B.
A6 B6|Bj=Sini/j+1
!!!!!!
на С и С++!!!!
Цитата: Toogoy
Найти разность RA между max элементами массива A и B.
чего кричим то? спокойнее, все просто:
Код:
RA = A - B;
В одномерном массиве, состоящем из n целочисленных элементов, вычислить: минимальный по модулю элемент массива
дана действительная квадратная матрица порядка n.Вычислить сумму тех из ее элементов,расположенных на побочной диагонали и выше нее,которые превосходят по величине все элементы,расположенные ниже побочной диагонали.если на побочной диагонали и выше нее нет элементов с указанным свойством,то ответом должно служить сообщение об этом.
Цитата: екатерина новикова
помогите пожалуйста!!
дана действительная квадратная матрица порядка n.Вычислить сумму тех из ее элементов,расположенных на побочной диагонали и выше нее,которые превосходят по величине все элементы,расположенные ниже побочной диагонали.если на побочной диагонали и выше нее нет элементов с указанным свойством,то ответом должно служить сообщение об этом.
дана действительная квадратная матрица порядка n.Вычислить сумму тех из ее элементов,расположенных на побочной диагонали и выше нее,которые превосходят по величине все элементы,расположенные ниже побочной диагонали.если на побочной диагонали и выше нее нет элементов с указанным свойством,то ответом должно служить сообщение об этом.
Как-то так на с++:
Код:
#include<iostream>
#include<ctime>
using std::cout;
using std::endl;
using std::system;
int *MakeArrayAuto(unsigned row);
void PrintArray(unsigned row, int *mas);
int SumBelowDiag(unsigned row, int *mas);
void SumByOption(unsigned row, int *mas, int sum);
int main()
{
srand((unsigned)time(NULL));
unsigned row=rand()%3+2;
int *mas=MakeArrayAuto(row);
PrintArray(row,mas);
int sum=SumBelowDiag(row,mas);
cout<<"\nSum Below Diagonal: "<<sum<<endl;
SumByOption(row,mas,sum);
cout<<endl<<endl;
system("pause");
delete []mas;
return 0;
}
//создаем матрицу
int *MakeArrayAuto(unsigned row)
{
int *mas=new int[row*row];
for(int idx=0;idx<row*row;idx++)
mas[idx]=rand()%100;
return mas;
}
//вывод матрицы
void PrintArray(unsigned row, int *mas)
{
cout<<"Your Array:\n";
for(int idx=0;idx<row*row;idx++)
{
if(idx!=0 && idx%row==0)cout<<endl;
cout<<mas[idx]<<" ";
}
}
//опредеяем сумму всех эле-ов ниже побочной диагонали
int SumBelowDiag(unsigned row, int *mas)
{
cout<<"\n\nElements below diagonal: ";
int sum=0, buf=row-1, counter=0;
for(int idx=0;idx<row*row;idx++)
{
if(idx==buf && counter<row)
{
for(int jdx=0;jdx<=counter;jdx++)
if(jdx!=0)
{
cout<<mas[idx+jdx]<<" ";
sum=sum+mas[idx+jdx];
}
buf=buf+(row-1);
counter++;
}
}
return sum;
}
//определяем есть ли э-ты по заданному сво-ву
void SumByOption(unsigned row, int *mas, int sum)
{
int SumO=0, buf=row-1, CounterUp=row, CounterD=0;
bool flag=false;
cout<<"Elements on diagonal & above diagonal: ";
for(int idx=0;idx<row*row;idx++)
{
if(idx==buf && CounterD<row)
{
cout<<mas[idx]<<" ";
if(mas[idx]>sum)SumO=SumO+mas[idx];
CounterD++;
}
if(idx==buf && CounterUp>0)
{
for(int jdx=CounterUp-1;jdx>0;jdx--)
{
cout<<mas[idx-jdx]<<" ";
if(mas[idx-jdx]>sum)
{
SumO=SumO+mas[idx-jdx];
flag=true;
}
}
buf=buf+(row-1);
CounterUp--;
}
}
if(flag==true)cout<<"\n\nSum of those elements by option: "<<SumO<<endl;
else cout<<"\n\nThere are not those elements"<<endl;
}
#include<ctime>
using std::cout;
using std::endl;
using std::system;
int *MakeArrayAuto(unsigned row);
void PrintArray(unsigned row, int *mas);
int SumBelowDiag(unsigned row, int *mas);
void SumByOption(unsigned row, int *mas, int sum);
int main()
{
srand((unsigned)time(NULL));
unsigned row=rand()%3+2;
int *mas=MakeArrayAuto(row);
PrintArray(row,mas);
int sum=SumBelowDiag(row,mas);
cout<<"\nSum Below Diagonal: "<<sum<<endl;
SumByOption(row,mas,sum);
cout<<endl<<endl;
system("pause");
delete []mas;
return 0;
}
//создаем матрицу
int *MakeArrayAuto(unsigned row)
{
int *mas=new int[row*row];
for(int idx=0;idx<row*row;idx++)
mas[idx]=rand()%100;
return mas;
}
//вывод матрицы
void PrintArray(unsigned row, int *mas)
{
cout<<"Your Array:\n";
for(int idx=0;idx<row*row;idx++)
{
if(idx!=0 && idx%row==0)cout<<endl;
cout<<mas[idx]<<" ";
}
}
//опредеяем сумму всех эле-ов ниже побочной диагонали
int SumBelowDiag(unsigned row, int *mas)
{
cout<<"\n\nElements below diagonal: ";
int sum=0, buf=row-1, counter=0;
for(int idx=0;idx<row*row;idx++)
{
if(idx==buf && counter<row)
{
for(int jdx=0;jdx<=counter;jdx++)
if(jdx!=0)
{
cout<<mas[idx+jdx]<<" ";
sum=sum+mas[idx+jdx];
}
buf=buf+(row-1);
counter++;
}
}
return sum;
}
//определяем есть ли э-ты по заданному сво-ву
void SumByOption(unsigned row, int *mas, int sum)
{
int SumO=0, buf=row-1, CounterUp=row, CounterD=0;
bool flag=false;
cout<<"Elements on diagonal & above diagonal: ";
for(int idx=0;idx<row*row;idx++)
{
if(idx==buf && CounterD<row)
{
cout<<mas[idx]<<" ";
if(mas[idx]>sum)SumO=SumO+mas[idx];
CounterD++;
}
if(idx==buf && CounterUp>0)
{
for(int jdx=CounterUp-1;jdx>0;jdx--)
{
cout<<mas[idx-jdx]<<" ";
if(mas[idx-jdx]>sum)
{
SumO=SumO+mas[idx-jdx];
flag=true;
}
}
buf=buf+(row-1);
CounterUp--;
}
}
if(flag==true)cout<<"\n\nSum of those elements by option: "<<SumO<<endl;
else cout<<"\n\nThere are not those elements"<<endl;
}
1) Вас вообще учили освобождать память, которую выделяете динамически?
Должно быть так всегда!
Код:
int *mas=new int[size];
delete []mas;
delete []mas;
А где у вас?
Цитата: AndreySar
На С++:
Код:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
clrscr();
int n;
cout<<"Input number:"<<endl;
cin>>n;
int *mass = new int[n];
cout<<"All massiv: "<<endl;
for(int i = 0; i < n; i++)
{
mass = 50 - rand() % 100; // [-50; 50]
cout<<mass<<" ";
}
int min = 100;
for(i = 0; i < n; i++)
if(abs(mass) < abs(min))
min = mass;
cout<<endl<<"Minimum element: "<<min;
getch();
return 0;
}
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
clrscr();
int n;
cout<<"Input number:"<<endl;
cin>>n;
int *mass = new int[n];
cout<<"All massiv: "<<endl;
for(int i = 0; i < n; i++)
{
mass = 50 - rand() % 100; // [-50; 50]
cout<<mass<<" ";
}
int min = 100;
for(i = 0; i < n; i++)
if(abs(mass) < abs(min))
min = mass;
cout<<endl<<"Minimum element: "<<min;
getch();
return 0;
}
2) А обязательно подключать библиотеку math, чтобы найти модуль числа?:(
Достаточно:
Код:
int num=-6;
num=num*(-1);
num=num*(-1);
Найти максимальное значение среди отрицательных элементов, расположенных до первого элемента, меньшего заданного числа Х.
СПАСИТЕ
Цитата: Злыдзень
Задан целочисленный одномерный массив a из n элементов.
Найти максимальное значение среди отрицательных элементов, расположенных до первого элемента, меньшего заданного числа Х.
СПАСИТЕ
Найти максимальное значение среди отрицательных элементов, расположенных до первого элемента, меньшего заданного числа Х.
СПАСИТЕ
Код:
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
template <typename T, int N>
int CountOf(const T(&)[N]) {
return N;
}
int main() {
const int x = -7;
int values[] = { 10, -4, 8, 0, 7, -5, -7, 0, 6, -8, -4, 8, -6, 10, 6 };
const int max_value = *max_element(
values,
partition(
values,
find_if(values, values + CountOf(values), bind2nd(less<int>(), x)),
bind2nd(less<int>(), 0)
)
);
cout << max_value << endl;
}
#include <algorithm>
#include <functional>
using namespace std;
template <typename T, int N>
int CountOf(const T(&)[N]) {
return N;
}
int main() {
const int x = -7;
int values[] = { 10, -4, 8, 0, 7, -5, -7, 0, 6, -8, -4, 8, -6, 10, 6 };
const int max_value = *max_element(
values,
partition(
values,
find_if(values, values + CountOf(values), bind2nd(less<int>(), x)),
bind2nd(less<int>(), 0)
)
);
cout << max_value << endl;
}
Цитата: Der Meister
Код:
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
template <typename T, int N>
int CountOf(const T(&)[N]) {
return N;
}
int main() {
const int x = -7;
int values[] = { 10, -4, 8, 0, 7, -5, -7, 0, 6, -8, -4, 8, -6, 10, 6 };
const int max_value = *max_element(
values,
partition(
values,
find_if(values, values + CountOf(values), bind2nd(less<int>(), x)),
bind2nd(less<int>(), 0)
)
);
cout << max_value << endl;
}
#include <algorithm>
#include <functional>
using namespace std;
template <typename T, int N>
int CountOf(const T(&)[N]) {
return N;
}
int main() {
const int x = -7;
int values[] = { 10, -4, 8, 0, 7, -5, -7, 0, 6, -8, -4, 8, -6, 10, 6 };
const int max_value = *max_element(
values,
partition(
values,
find_if(values, values + CountOf(values), bind2nd(less<int>(), x)),
bind2nd(less<int>(), 0)
)
);
cout << max_value << endl;
}
что-то просто.... так не мб.....
Цитата: Злыдзень
что-то просто.... так не мб.....
Раз просто, опишите, что делает там каждая строчка.
По-моему, автора вопроса смущает использование STL вместо привычных циклов для обработки массивов. Именно поэтому ему и кажется данное решение простым - короткое слишком.
Задан числовой массив А из n элементов. Ступенькой назовем такие элементы A , A[i+l] , . . . , A[j], что:
1)A[k]<A[k+l], k=i, i+1, .... j-1;
2) А[i-1]>=А,если i>l и A[j]>=A[j+l], если j<n. Высотой ступеньки назовем разность A[j]-A, а длиной - ко¬личество элементов массива, входящих в ступеньку. Вычислить:
1) высоту и длину каждой из ступенек;
2) высоту самой длинной ступеньки;
3) длину самой высокой ступеньки.
ДАн целочисленный массив из n элементов A(n) в пределах от -20 до 20(сгенерировать). Найти max элемент массива с четным номером
Цитата: Iskander28
Помогите пожалуйста с задачей.
ДАн целочисленный массив из n элементов A(n) в пределах от -20 до 20(сгенерировать). Найти max элемент массива с четным номером
ДАн целочисленный массив из n элементов A(n) в пределах от -20 до 20(сгенерировать). Найти max элемент массива с четным номером
Код:
#include<iostream>
#include<ctime>
using namespace std;
void PrintArr(unsigned size, int *Arr)
{
cout<<"Array:"<<endl;
for(int idx=0;idx<size;idx++)
cout<<"["<<idx<<"] = "<<Arr[idx]<<endl;
cout<<endl;
}
int FindPosElem(unsigned size, int *Arr)
{
int buf=0, num=0;
for(int idx=0;idx<size;idx++)
{
if(idx%2==0 || idx!=0 && num<Arr[idx])
{
buf=idx;
num=Arr[idx];
}
}
return buf;
}
int main()
{
srand((unsigned)time(NULL));
unsigned size=rand()%10+3;
int *Arr=new int [size];
for(int idx=0;idx<size;idx++)
Arr[idx]=rand()%40-20;
PrintArr(size,Arr);
int index=FindPosElem(size,Arr);
cout<<"Even MaxElement is: "<<Arr[index]<<endl<<"It's index is: "<<index<<endl;
cout<<endl;
system("Pause");
delete[] Arr;
return 0;
}
#include<ctime>
using namespace std;
void PrintArr(unsigned size, int *Arr)
{
cout<<"Array:"<<endl;
for(int idx=0;idx<size;idx++)
cout<<"["<<idx<<"] = "<<Arr[idx]<<endl;
cout<<endl;
}
int FindPosElem(unsigned size, int *Arr)
{
int buf=0, num=0;
for(int idx=0;idx<size;idx++)
{
if(idx%2==0 || idx!=0 && num<Arr[idx])
{
buf=idx;
num=Arr[idx];
}
}
return buf;
}
int main()
{
srand((unsigned)time(NULL));
unsigned size=rand()%10+3;
int *Arr=new int [size];
for(int idx=0;idx<size;idx++)
Arr[idx]=rand()%40-20;
PrintArr(size,Arr);
int index=FindPosElem(size,Arr);
cout<<"Even MaxElement is: "<<Arr[index]<<endl<<"It's index is: "<<index<<endl;
cout<<endl;
system("Pause");
delete[] Arr;
return 0;
}
Цитата: GiloSpring
Доброго времени суток. Будьте любезны помочь мне с такой вот задачей(C++):
Задан числовой массив А из n элементов. Ступенькой назовем такие элементы A , A[i+l] , . . . , A[j], что:
1)A[k]<A[k+l], k=i, i+1, .... j-1;
2) А[i-1]>=А,если i>l и A[j]>=A[j+l], если j<n. Высотой ступеньки назовем разность A[j]-A, а длиной - ко¬личество элементов массива, входящих в ступеньку. Вычислить:
1) высоту и длину каждой из ступенек;
2) высоту самой длинной ступеньки;
3) длину самой высокой ступеньки.
Задан числовой массив А из n элементов. Ступенькой назовем такие элементы A , A[i+l] , . . . , A[j], что:
1)A[k]<A[k+l], k=i, i+1, .... j-1;
2) А[i-1]>=А,если i>l и A[j]>=A[j+l], если j<n. Высотой ступеньки назовем разность A[j]-A, а длиной - ко¬личество элементов массива, входящих в ступеньку. Вычислить:
1) высоту и длину каждой из ступенек;
2) высоту самой длинной ступеньки;
3) длину самой высокой ступеньки.
может быть все таки двумерный массив?? Если да, то с диагоналями работаем.
Цитата: Енот_в_Засаде
вот такой код на С++:)
Код:
int **A = new int* [n];
A=new int[n];
delete A;//это чего такое??
return 0;
}
A=new int[n];
delete A;//это чего такое??
return 0;
}
до сих пор не научились память освобождать, плохо.
Как то так надо наверно:
Код:
for(int i=0;i<n;i++)
delete[] A;
delete []A;
delete[] A;
delete []A;
cronya, нет нужен именно обычный массив.
Тогда мне не совсем понятно задание, нарисуйте хотя бы как должно быть то