Форум программистов, компьютерный форум CyberForum.ru

Решите) буду благодарен) - C++

Восстановить пароль Регистрация
 
Horazoon
0 / 0 / 0
Регистрация: 08.02.2011
Сообщений: 13
12.02.2011, 00:22     Решите) буду благодарен) #1
желательно напишите какие библиотеки включать
1. переставить элементы массива попарно: 1 со 2, 3 с 4, и т.д.
2. заменить элемент массива с номером к на элемент с номером м (номера к и м ввести с клавиатуры)
3. в массиве поменять местами максимальный элемент с минимальным
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Escapable
53 / 53 / 1
Регистрация: 09.11.2010
Сообщений: 120
12.02.2011, 00:47     Решите) буду благодарен) #2
1.
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 <iostream>
using namespace std;
 
void Foo(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}
 
int main () 
{
    int arr[6] = {1, 2, 3, 4, 5, 6 };
 
    cout << "Initial: ";
    for(int i = 0; i < 6; i++)
        cout << arr[i] << " ";
    cout << endl;
    
    for(int i = 0; i < 6; i++)
        Foo(arr[i], arr[i++]);
 
    cout << "Modified: ";
    for(int i = 0; i < 6; i++)
        cout << arr[i] << " ";
    cout << endl;
 
return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.02.2011, 01:04     Решите) буду благодарен) #3
Цитата Сообщение от Horazoon Посмотреть сообщение
3. в массиве поменять местами максимальный элемент с минимальным
C++
1
2
3
4
5
6
7
8
int arr[arr_size] = {4, 2, 6, 1}, idx_min = 0, idx_max = 0;
for(int i = 0; i < arr_size; ++i){
  if(arr[i] < arr[idx_min])
    idx_min = i;
  else if(arr[i] > arr[idx_max])
    idx_max = i;
}
std::swap(arr[idx_max], arr[idx_min]);
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
12.02.2011, 01:39     Решите) буду благодарен) #4
3. в массиве поменять местами максимальный элемент с минимальным
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<stdlib.h>
#include<setjmp.h>
#define N 7
 
int main(){
    int mas[N]={4, 7, -3, 8, -5, 0, -13};
    int imax=0, imin=0, res=0;
    jmp_buf jb;
    res=setjmp(jb);
    if(mas[res]>mas[imax]) imax=res;
    if(mas[res]<mas[imin]) imin=res;
    if(++res!=N) longjmp(jb, res);
    int tmp=mas[imin];
    mas[imin]=mas[imax];
    mas[imax]=tmp;
    res=setjmp(jb);
    printf("%d  ", mas[res]);
    if(++res!=N) longjmp(jb, res);
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.02.2011, 07:04     Решите) буду благодарен) #5
Цитата Сообщение от Horazoon Посмотреть сообщение
в массиве поменять местами максимальный элемент с минимальным
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main(){
    int arr[] = {1, 2, 3, 4, 5};
    std::cout << "Before: ";
    std::copy(arr, arr + sizeof(arr)/sizeof(*arr), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\nAfter:  ";
    std::swap(*std::min_element(arr, arr + sizeof(arr)/sizeof(*arr)), *std::max_element(arr, arr + sizeof(arr)/sizeof(*arr)));
    std::copy(arr, arr + sizeof(arr)/sizeof(*arr), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    return 0;
}
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 12:30     Решите) буду благодарен) #6
Цитата Сообщение от Horazoon Посмотреть сообщение
1. переставить элементы массива попарно: 1 со 2, 3 с 4, и т.д.
2. заменить элемент массива с номером к на элемент с номером м (номера к и м ввести с клавиатуры)
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
#include <iostream>
#include <ctime>
 
#define N 10
using namespace std;
 
void swap_in_pairs(int mas[N])
{
    int tmp;
    for(int i=0; i<N; i+=2)
    {
        tmp=mas[i];
        mas[i]=mas[i+1];
        mas[i+1]=tmp;
        cout<<mas[i]<<"  "<<mas[i+1]<<"  ";
    }
}
 
void swap_numbers(int mas[N])
{
    int n,k,tmp;
    cout<<endl<<endl<<"Enter n -> ";
    cin>>n;
    cout<<"Enter k -> ";
    cin>>k;
    tmp=mas[n-1];
    mas[n-1]=mas[k-1];
    mas[k-1]=tmp;
    cout<<endl<<"2. Array -> ";
     for(int i=0; i<N; i++)
     {
          cout<<mas[i]<<"  ";
     }
}
 
int main()
 {
     int mas[N];
     cout<<"Array -> ";
      for(int i=0; i<N; i++)
      {
          mas[i]=rand()%99;
           cout<<mas[i]<<"  ";
      }
      cout<<endl<<endl<<"1. Array -> ";
      swap_in_pairs(mas);
      swap_numbers(mas);
      system("pause");
      return 0;
 }
Yandex
Объявления
12.02.2011, 12:30     Решите) буду благодарен)
Ответ Создать тему
Опции темы

Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru