#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 15
using namespace std;
void _tmain()
{
setlocale(LC_CTYPE,"Russian");
int mas[size], max, min; // массив, максимум, минимум
int i;
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
_getch();
}
выделение памяти
Нужно реализовать с выделение памяти
Код:
int *mas = new int[size]
или же юзать функцию malloc:
Код:
int *mas =(int*)malloc(size*sizeof(int))
Что еще не дописал?
Цитата:
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void _tmain()
{
setlocale(LC_CTYPE,"Russian");
int mas[size], max, min, i, *ua; // массив, максимум, минимум
ua=new int;
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete ua;
_getch();
}
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void _tmain()
{
setlocale(LC_CTYPE,"Russian");
int mas[size], max, min, i, *ua; // массив, максимум, минимум
ua=new int;
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete ua;
_getch();
}
Во первых я не понял зачем это, а во вторых, нельзя создать массив с размером i, так как эта переменная никаким значением не инициализирована.
2. память под массив выделяется так: int *mas = new int[size];
3. освобождая память нужно будет удалять массив mas[].
вот что примерно должно получиться:
Код:
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void main()
{
setlocale(LC_CTYPE,"Russian");
int *mas = new int[size];
int max, min, i; // массив, максимум, минимум
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete[] mas;
_getch();
}
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void main()
{
setlocale(LC_CTYPE,"Russian");
int *mas = new int[size];
int max, min, i; // массив, максимум, минимум
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete[] mas;
_getch();
}
Код:
int mas[size], max, min, i-чему равно, вроде как размер массива по вашим запися, может быть все таки size, *ua;
[COLOR="red"]ua=new int[i];[/COLOR]//видимо опечатка
[COLOR="seagreen"]ua=new int[size];[/COLOR]//так правильно
Работа с памятью элементарна:
Код:
unsigned size=5;//размер массива
int *massive=new int[size];//выделение памяти на 5 э-тов
for(int idx=0;idx<size;idx++)massive[idx]=0;//пример обращению к эле-у массива
delete []massive;//освобождения памяти
int *massive=new int[size];//выделение памяти на 5 э-тов
for(int idx=0;idx<size;idx++)massive[idx]=0;//пример обращению к эле-у массива
delete []massive;//освобождения памяти
Цитата: Енот_в_Засаде
вот что примерно должно получиться:
Код:
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void main()
{
setlocale(LC_CTYPE,"Russian");
int *mas = new int[size];
int max, min, i; // массив, максимум, минимум
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete[] mas;
_getch();
}
#include <stdio.h>
#include <iostream>
#include <math.h>
#define size 4
using namespace std;
void main()
{
setlocale(LC_CTYPE,"Russian");
int *mas = new int[size];
int max, min, i; // массив, максимум, минимум
cout<<"Введите "<< size <<" чисел \n";
for (i=0; i<size; i++)
cin >> mas;
max=mas[0];
min=mas[0];
for (i=1; i<size; i++) {
if (mas > max)
max = mas;
if (mas < min)
min = mas;
}
cout << "массив до изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
for (i=0; i<size; i++)
if (mas == min)
mas = max; // заменяем все минимальные элементы максимальными
cout << "массив после изменения:\n";
for (i=0; i<size; i++)
cout << mas << " ";
cout << endl;
cout << "Press any key\n";
delete[] mas;
_getch();
}
Не надо писать за них все, пусть вырабатывают свой стиль написания, вы им делаете медвежью услугу.
К тому же объявления глобальных переменных не есть хорошо, к тому же когда объявляете переменные они должны быть равны значению. Все таки синтаксис и допускает опускания, но это надо, чтобы в дальнейшем не было геморая.
Цитата:
Не надо писать за них все, пусть вырабатывают свой стиль написания, вы им делаете медвежью услугу.
так я и не писал ничего:) весь код его, я просто кое что переставил)