IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Помогите Решить задачу в Borland C/C++, В массиве из 15 элементов необходимо поменять местами максимальный и
SisDAn
сообщение 15.3.2011, 20:28
Сообщение #1


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



В массиве из 15 элементов необходимо поменять местами максимальный и минимальный значения

Вот что накидал !!!

#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15],i,n;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]>max)max=a[i]; //БЛОК ПОИСКА
if(a[i]<min)min=a[i]; //МИН И МАК
}



Вопрос как поменять значения в массиве Min , Max
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Тролль
сообщение 15.3.2011, 20:34
Сообщение #2


Доцент
******

Группа: Преподаватели
Сообщений: 2 964
Регистрация: 23.2.2007
Город: Москва
Учебное заведение: МГУ



Надо зафиксировать также какой номер у максимального элемента.
Например так (k = 0 - номер максимального элемента):
if (a[i]>max)
{
k = i;
max = a[i];
}
А в конце (l - номер минимального элемента)
s = a[k];
a[k] = a[l];
a[l] = s;
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 15.3.2011, 20:36
Сообщение #3


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



хорошо а поточнее я в программировании не силён!!!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Тролль
сообщение 15.3.2011, 20:37
Сообщение #4


Доцент
******

Группа: Преподаватели
Сообщений: 2 964
Регистрация: 23.2.2007
Город: Москва
Учебное заведение: МГУ



Что именно нужно поточнее?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 15.3.2011, 20:38
Сообщение #5


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



как зафиксировать к=0
и вывести на экран
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Тролль
сообщение 15.3.2011, 20:46
Сообщение #6


Доцент
******

Группа: Преподаватели
Сообщений: 2 964
Регистрация: 23.2.2007
Город: Москва
Учебное заведение: МГУ



В самом начале написать int k = 0
А зачем его выводить?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 15.3.2011, 20:47
Сообщение #7


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



ответ надо показать на экране ! задание такое !
Щас попробую и отпишусь!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 15.3.2011, 20:53
Сообщение #8


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



1)У Вас же задано, что в массиве 15 элементов, зачем вводить n с клавиатуры?
2)Где, собственно, ввод самих элементов массива?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 15.3.2011, 21:06
Сообщение #9


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



Я только учусь 1 курс 1 семестр ЗА ОЧКИ пытаюсь хоть как то разобраться!!!

Вот так я правельно понял ???
int main()
{
clrscr();
int a[15],i,n,s,k;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]>max)max=a[i]; //БЛОК ПОИСКА
if(a[i]<min)min=a[i]; //МИН И МАК
if (a[i]>max)
int k=0;
max=a[i];
s=a[k];
a[k]=a[1];
a[1]=s;
Ругается на К=0
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 15.3.2011, 21:31
Сообщение #10


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Нет.
Чтобы правильно сделать float max=a[0], min=a[0]; - нужно, чтобы хотя бы a[0](а,желательно,и все остальные элементы массива) было задано.
Кроме того,в глаза бросается различное количество открывающих и закрывающих фигурных скобок,а так же совсем не понятно, что Вы имели в виду после последнего if'а.
И определитесь, на чём Вы пишете - С или С++. В первом случае советую книжку Кернигана и Ритчи, во втором - Страуструпа или Шилдта.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Тролль
сообщение 15.3.2011, 21:31
Сообщение #11


Доцент
******

Группа: Преподаватели
Сообщений: 2 964
Регистрация: 23.2.2007
Город: Москва
Учебное заведение: МГУ



int main()
{
clrscr();
int a[15],i,n,s,k=0;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]<min)min=a[i];
if (a[i]>max)
{
max=a[i];
k=i;
}
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 15.3.2011, 21:57
Сообщение #12


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



Ладно народ спасибо до завтра !!! А то вставать в 7:00!
Завтра буду разбираться!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nik77714
сообщение 16.3.2011, 9:56
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 16.3.2011
Город: Мончегорск
Учебное заведение: кафэПетрГУ зис2010(5.5)



ВОТ КАК ТО ТАК! НАВЕРНО (ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ)

#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},n,i,k=0,l=0;
int max=a[0],min=a[0];
for(i=0;i<15;i++)
cout<<a[i]<<" ";
{
if(a[i]<min)min=a[i];
if(a[i]>max)
max=a[i];
k=i;
}

БОЛЬШАЯ ПРОСЬБА, ЕСЛИ НЕПРАВИЛЬНО, ТО ДАТЬ РЕДАКТИРОВАННЫЙ ОТВЕТ С ОБЪЯСНЕНИЯМИ (IMG:style_emoticons/default/helpsmilie.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nik77714
сообщение 16.3.2011, 15:28
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 16.3.2011
Город: Мончегорск
Учебное заведение: кафэПетрГУ зис2010(5.5)



Итог таков:

#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},i,min,max;
max=a[0];
min=a[0];
for(i=0;i<15;i++)
{
cout<<a[i]<<' ';
}
for(i=0;i<15;i++)
{
if(a[i]<min)
{
min=a[i];
}
else if(a[i]>max)
{
max=a[i];
}
}
cout<<endl;
cout<<max;
cout<<endl;
cout<<min;
cout<<endl;
system("pause");
return 0;
}

находим max и min данного массива и выводим на экран!

ВОПРОС: как вписать перестановку местами?


Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 16.3.2011, 17:14
Сообщение #15


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Чтобы осуществить перестановку,надо знать индексы переставляемых элементов. Об этом Вам Тролль уже говорил.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 16.3.2011, 19:26
Сообщение #16


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



А как наитй индексы???
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={45,76,43,3,6,9,65,23,64,3,5,92,22,33,10},min,max,i,k,l;
max=a[0];
min=a[0];
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
for(i=0;i<15;i++)
{
if(a[i]<min)
{
min=a[i];
}
else if(a[i]>max)
{
max=a[i];
}
}

cout<<endl;
cout<<max;
cout<<endl;
cout<<min;
cout<<endl;

for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
я нашёл макс и мин !!!

у нас есть индекс MAX и MIN Как их поменять местами???
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 16.3.2011, 20:00
Сообщение #17


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



Народ HELP !!!!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Тролль
сообщение 16.3.2011, 20:02
Сообщение #18


Доцент
******

Группа: Преподаватели
Сообщений: 2 964
Регистрация: 23.2.2007
Город: Москва
Учебное заведение: МГУ



Я же писал уже.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 16.3.2011, 21:56
Сообщение #19


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



Народ как построить математическую модель к заданию ??? Прогу мы написали!!!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SisDAn
сообщение 17.3.2011, 20:35
Сообщение #20


Школьник
*

Группа: Продвинутые
Сообщений: 10
Регистрация: 15.3.2011
Город: Monchester
Вы: студент



#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={45,76,43,3,6,9,65,23,64,4,5,92,22,33,10},min,max,i,k,l;
max=a[0];
min=a[0];
int minposition=0;
int maxposition=0;
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
for(k=0;k<15;k++)
{
if(a[k]>max)
{
max=a[k];
maxposition=k;
}
else if(a[k]<min)
{
min=a[k];
minposition=k;
}
}
a[minposition]=max;
a[maxposition]=min;

cout<<endl;
cout<<"max"<<max;
cout<<endl;
cout<<"min"<<min;
cout<<endl;
cout<<endl;
cout<<"new matrix: ";
cout<<endl;
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
getch() ;
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 16.4.2024, 22:14

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru