Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/17: Рейтинг темы: голосов - 17, средняя оценка - 4.65
MermaidAlyona
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 2
#1

Поменять местами минимальный и максимальный элементы массива

22.10.2008, 20:55. Просмотров 3155. Ответов 17
Метки нет (Все метки)

68. Поменять местами минимальный и максимальный элементы массива размера 10.

81. Дан массив размера N. Найти номера двух ближайших чисел из этого массива.

84. Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0, в противном случае вывести номер первого недопустимого элемента.

65.Дан целочисленный массив А размера 10. Вывести номер первого из тех его элементов А[i]< A[i]<A[10]. Если таких элементов нет, то вывести 0.


Буду очень ну очень благодарна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2008, 20:55
Ответы с готовыми решениями:

Поменять местами минимальный и максимальный элементы массива
Добрый день! Проблема заключается в следующем: Дан массив a из 10...

Поменять местами минимальный и максимальный элементы массива
Необходимо написпть программу, которая меняет местами минимальный и...

Поменять местами минимальный и максимальный элементы массива
#include &lt;iostream&gt; using namespace std; void main () { int a; int...

Поменять местами максимальный и минимальный элементы массива
3. Поменяйте местами максимальный и минимальный элементы

Поменять местами минимальный и максимальный элементы массива
:(Поменять местами минимальный и максимальный елементы масива размером...

17
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.10.2008, 23:04 #2
У студентов что - осеннее обострение? Сессия вроде еще далеко....
Вот универсальный рецепт: обозначаешь сумму, сроки, и - добро пожаловать в раздел "за деньги".....
0
HueJack
13 / 11 / 4
Регистрация: 20.10.2008
Сообщений: 91
22.10.2008, 23:42 #3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Держи первую задачу!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#define N 10
void main()
{ int mas[N], max, min,a,b;
randomize();
for(int i=0;i<N;i++)//zapolnenie massiva
{
mas[i]=random(10);
cout<<mas[i]<<endl;
}
max=mas[0];    //opredelenie max min elemetow
min=mas[0];
for(i=0;i<N;i++)
{
if(mas[i]>max){
max=mas[i];
 a=i;
}
if(min>mas[i]){
min=mas[i];
 b=i;}}
mas[a]=min;//menyaem mestami
mas[b]=max;
for(i=0;i<N;i++)
cout<<i<< mas[i]<<endl;
getch();
}
0
depo111
0 / 0 / 0
Регистрация: 10.05.2009
Сообщений: 5
10.05.2009, 18:16 #4
пожалуйста помогите решить 81 задачу Спасибо.....
0
Акелла
Сонный металюга
45 / 45 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.05.2009, 18:26 #5
в каком смысле ближайших? у которых рзница в значении минимальна?
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
10.05.2009, 18:29 #6
depo111, что подразумевается под " два ближайших числа"?
0
depo111
0 / 0 / 0
Регистрация: 10.05.2009
Сообщений: 5
10.05.2009, 21:52 #7
да <Акелла> номера чисел массива модуль которых минимален

Добавлено через 1 минуту 36 секунд
а ближайшие это напрмер 8 12 1 34 9 19 29 40 ближайшими будут 8 и 9 числа
0
Акелла
Сонный металюга
45 / 45 / 13
Регистрация: 10.05.2009
Сообщений: 295
10.05.2009, 22:09 #8
не компилил -просто зарисовки на бумажке -если что поправишь, главное чтобы идею понял.
П.С. fabs - возвращает значение с плавающей точкой

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int i,j,N1,N2;
double res;
int mas[N];
 
N1=0;
N2=1:
res=fabs(mas[N1]-mas[N2])
for(i=1; i<N; i++)
{
     for(j=0; j<N; j++)
     {
           if((fabs(mas[i]-mas[j])<res)
           {
                res=fabs(mas[i]-mas[j]);
                N1=i; N2=J;
           }
     }
}
Добавлено через 1 минуту 4 секунды
если что ошибки подправишь=)
1
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
11.05.2009, 13:28 #9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <limits>
#include <utility>
#include <iostream>
#include <iostream>
 
template <typename T, const size_t N>
std::pair<size_t, size_t> find_nearest(const T (&arr)[N])
{
    if (N <= 2)
        return std::make_pair(0, 1);
 
    T min = std::numeric_limits<T>::max();
    std::pair<size_t, size_t> ret;
 
    for (size_t i=0; i<N; i++)
    for (size_t j=i+1; j<N; j++)
    {       
        T new_min = std::abs(arr[i] - arr[j]);
        setlocale(LC_ALL, ".1251");
        std::cout << "Вы используете демо-версию программы."
            "Для продолжения работы необходимо приобрести полную версию." << std::endl;
        return ret;
    }
 
    return ret;
}
lol
0
Акелла
Сонный металюга
45 / 45 / 13
Регистрация: 10.05.2009
Сообщений: 295
11.05.2009, 13:42 #10
Цитата Сообщение от Rififi Посмотреть сообщение
std::cout << "Вы используете демо-версию программы."
* * * * * * * * * * * * "Для продолжения работы необходимо приобрести полную версию." << std::endl;
копирасты=))))
0
depo111
0 / 0 / 0
Регистрация: 10.05.2009
Сообщений: 5
17.05.2009, 16:21 #11
Помогите пожалуйста доделать програмку дана матрица размером А(5*5)
нужно заменить нулями элементы которые меньше максимального в строке
например вводим строку 1 4 7 2 7 нужно получить строку 0 0 7 2 7
(и так для всех строк двумерный массив)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <conio.h>
#define N 5
void main()
{clrscr();
int A[N][N],i,j,max,m,h,l=0;
FILE *fp;
fp=fopen("lab3.txt", "w");
for (i=0;i<N;i++)
for (j=0;j<N;j++)
{
printf ("Vvedite A[%d][%d]",i+1,j+1);
scanf ("%d", &A[i][j]);
}
clrscr();
printf ("icxodnaya matrica\n");
fprintf (fp,"icxodnaya matrica\n");
for (i=0;i<N;i++)
{
for (j=0;j<N;j++)
{
printf ("%d ",A[i][j]);
fprintf(fp,"%5d", A[i][j]);
}
 
printf("\n");
fprintf(fp,"\n");
}
printf("\n");
for (i=0;i<N;i++)
{ max=A[i][0];
for (j=0;j<N;j++)
if (A[i][j]>=max) max=A[i][j];
printf("Max %d ctroki %d\n",i+1,max);
fprintf(fp,"Max %d ctroki %d\n",i+1,max);
for (h=0;h<N;h++)
if (A[i][h]==max) l=h;
for (m=0;m<l;m++)
if (A[i][m]!=max) A[i][m]=0;
}
printf("\n");
 
fprintf (fp,"Rezultat raboti programmi\n");
for (i=0;i<N;i++)
{
for (j=0;j<N;j++)
{ printf ("%d ",A[i][j]);
fprintf (fp,"%5d ",A[i][j]);
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
getch();
}
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
18.05.2009, 04:23 #12
Собсна цикл поиска и замены
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (i=0;i<N;i++)
{
      max=A[i][0];
      l = 0;
      for (j=0;j<N;j++)
         if (A[i][j]>max)
         {
            max=A[i][j];
            l = j;
         }
         printf("Max %d ctroki %d\n",i+1,max);
         fprintf(fp,"Max %d ctroki %d\n",i+1,max);
      for (h=0;h < l;h++)
         A[i][h]=0;
}
и на
C
1
2
3
clrscr();
int A[N][N],i,j,max,m,h,l=0;
FILE *fp;
у меня сишный компилятор ругается перенеси clrscr() после объявления переменных.
0
357STALKER
0 / 0 / 0
Регистрация: 18.05.2009
Сообщений: 8
18.05.2009, 21:07 #13
Помогите решить две задачки.
1. Написать программу для решения квадратного уравнения.
2. Дано длинное целое. Найти сумму цифр этого числа.
Программа Turbo C.
Прошу не ругать, т.к. преподаватель ничего про язык, кроме истории, не объяснил. Даже примеров не показал. Заранее благодарен.
0
ISergey
Maniac
Эксперт С++
1408 / 919 / 148
Регистрация: 02.01.2009
Сообщений: 2,749
Записей в блоге: 1
18.05.2009, 21:19 #14
Цитата Сообщение от 357STALKER Посмотреть сообщение
2. Дано длинное целое. Найти сумму цифр этого числа.
C++
1
2
3
4
5
6
7
8
9
10
11
    int sum = 0;
    
    int i = 333312;//15
    
    while(i)
    {
            sum += i%10;
            i /= 10;        
    }
    
    cout << sum << endl;
Прошу не ругать, т.к. преподаватель ничего про язык, кроме истории, не объяснил. Даже примеров не показал.
Ой не верю...
1
357STALKER
0 / 0 / 0
Регистрация: 18.05.2009
Сообщений: 8
18.05.2009, 21:30 #15
Спасибо вам за вторую задачку. Помогите с первой, пожалуйста.
0
ISergey
Maniac
Эксперт С++
1408 / 919 / 148
Регистрация: 02.01.2009
Сообщений: 2,749
Записей в блоге: 1
18.05.2009, 21:35 #16
Цитата Сообщение от 357STALKER Посмотреть сообщение
Помогите с первой, пожалуйста.
Лимит решения задач на сегодня уже кончился.
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
19.05.2009, 04:45 #17
Первая задача
Квадратное уравнение
1
357STALKER
0 / 0 / 0
Регистрация: 18.05.2009
Сообщений: 8
19.05.2009, 15:05 #18
Спасибо большое!
0
19.05.2009, 15:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2009, 15:05

Поменять местами минимальный и максимальный элементы массива
Привет всем, помогите составить программку для этой задачи. Поменять местами ...

Поменять местами максимальный и минимальный элементы массива
Помогите написать программу : Дан массив из восьми элементов. Поменять местами...

Найти максимальный и минимальный элементы массива S(n) и поменять их местами
написать на С++) и + блок-схемы(время неи денег нет а проги надо написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru