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

Найти наибольший и наименьший элементы и поменять их местами. - C++

Восстановить пароль Регистрация
 
шапAnton
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 5
16.05.2012, 20:58     Найти наибольший и наименьший элементы и поменять их местами. #1
Помогите ребята задания вроде легкое.
1) Дано масив с 7 елементов. Типа INT. Нужно найти наибольший и наименьший элементы и поменять их местами.
2) Масив 6х4 розмерность и тип елементов Float. Нужно определить и напечатать количество отрицательных элементов в каждом столбце.
Если не трудно сделайте. Буду благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 20:58     Найти наибольший и наименьший элементы и поменять их местами.
Посмотрите здесь:

C++ Поменять местами наибольший и наименьший элементы?
Матрицы: найти наибольший и наименьший элементы и поменять их местами C++
C++ Найти наибольший и наименьший элементы каждой строки прямоугольной матрицы и поменять их местами
C++ Матрицы. Поменять местами наибольший и наименьший элементы
Поменять местами наибольший и наименьший элементы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
16.05.2012, 21:19     Найти наибольший и наименьший элементы и поменять их местами. #2
На первую задачу:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int posMin=0, posMax=0;
            int[] mas = new int[7] { 3, -5, 0, -2, 14, -1, 6 };
            int min = mas[0];
            int max = mas[0];
            for (int i = 0; i < 7; i++)
            {
                if (mas[i] <= min)
                {
                    min = mas[i];
                    posMin = i;
                }
                if (mas[i] >= max)
                {
                    max = mas[i];
                    posMax = i;
                }
            }
            mas[posMin] = max;
            mas[posMax] = min;
            foreach (int el in mas)
                Console.WriteLine("Елемент массив: {0} ", el);
            Console.ReadLine();
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,427
16.05.2012, 21:31     Найти наибольший и наименьший элементы и поменять их местами. #3
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    int arr[7] = {2, 6, 3, 8, 1, 4, 3};
    std::copy(arr, arr + 7, std::ostream_iterator<int>(std::cout, " "));
    std::swap(*std::max_element(arr, arr + 7), *std::min_element(arr, arr + 7));
    std::cout<< std::endl;
    std::copy(arr, arr + 7, std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
16.05.2012, 21:34     Найти наибольший и наименьший элементы и поменять их местами. #4
Вторая задача:
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
 int [] kolotr=new int[4];
            float[,] mas = new float[6, 4];
            Random rnd = new Random();
            for (int i = 0; i < mas.GetLength(0); ++i)
                for (int j = 0; j < mas.GetLength(1); ++j)
                    mas[i, j] = (float)rnd.Next(-100,100);
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < mas.GetLength(0); ++i)
            {
                for (int j = 0; j < mas.GetLength(1); ++j)
                    Console.Write("{0}  ", mas[i, j]);
                Console.WriteLine();
            }
            int pos=0;
            for (int i = 0; i < 4; ++i)
            {
                for (int j = 0; j < 6; ++j)
                {
                    if (mas[j, i] < 0) kolotr[i]++;
                }
            }
            Console.WriteLine("Кол-во отрицательных элементов: ");
            foreach (int el in kolotr)
                Console.Write("{0} ", el);
            Console.ReadLine();
шапAnton
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 5
16.05.2012, 21:38  [ТС]     Найти наибольший и наименьший элементы и поменять их местами. #5
Цитата Сообщение от Andrey.K Посмотреть сообщение
Вторая задача:
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
int [] kolotr=new int[4];
            float[,] mas = new float[6, 4];
            Random rnd = new Random();
            for (int i = 0; i < mas.GetLength(0); ++i)
                for (int j = 0; j < mas.GetLength(1); ++j)
                    mas[i, j] = (float)rnd.Next(-100,100);
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < mas.GetLength(0); ++i)
            {
                for (int j = 0; j < mas.GetLength(1); ++j)
                    Console.Write("{0}  ", mas[i, j]);
                Console.WriteLine();
            }
            int pos=0;
            for (int i = 0; i < 4; ++i)
            {
                for (int j = 0; j < 6; ++j)
                {
                    if (mas[j, i] < 0) kolotr[i]++;
                }
            }
            Console.WriteLine("Кол-во отрицательных элементов: ");
            foreach (int el in kolotr)
                Console.Write("{0} ", el);
            Console.ReadLine();


Что за new. Это не Java а С++ вроде. И мне бы со scanf, printf. Ну и на том tnh.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
16.05.2012, 21:40     Найти наибольший и наименьший элементы и поменять их местами. #6
Это написано на С# , ты же указал в теме язык C# , хотя мб я и осмотрелся. Но её не долго на С++ исправить.
Jazz411
85 / 33 / 3
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
16.05.2012, 21:44     Найти наибольший и наименьший элементы и поменять их местами. #7
Цитата Сообщение от шапAnton Посмотреть сообщение
Что за new. Это не Java а С++ вроде.
Если я прав это вообще C# !!!

Добавлено через 2 минуты
Цитата Сообщение от Andrey.K Посмотреть сообщение
Это написано на С# , ты же указал в теме язык C# , хотя мб я и осмотрелся. Но её не долго на С++ исправить.
Лучше написать с 0
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
16.05.2012, 21:46     Найти наибольший и наименьший элементы и поменять их местами. #8
Попросили я написал, а под себя исправить не долго. главное что я идею выложил
шапAnton
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 5
16.05.2012, 21:55  [ТС]     Найти наибольший и наименьший элементы и поменять их местами. #9
Цитата Сообщение от Andrey.K Посмотреть сообщение
Попросили я написал, а под себя исправить не долго. главное что я идею выложил

ну я спасибо написал. Я исправлю под свой тип) Но если там кому нетрудно то сделайте) ещё пару вариантов)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 22:36     Найти наибольший и наименьший элементы и поменять их местами.
Еще ссылки по теме:

C++ Поменять местами наибольший и наименьший элементы
C++ Поменять местами наибольший и наименьший элементы
Поменять местами наибольший и наименьший элементы массива C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,427
16.05.2012, 22:36     Найти наибольший и наименьший элементы и поменять их местами. #10
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
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    const int M = 6, N = 4;
    float arr[M][N];
    srand (time(0) ); 
    for (int i=0; i < M; i++)
    {
        for (int j=0; j < N; j++)
        {
            arr[i][j] = (rand() % 100 - 50)/ 10. ; 
            std::cout<< std::fixed<< std::setprecision(2)<< arr[i][j]<< " ";
        }
        std::cout<< std::endl; 
    } 
    for (int j=0; j < N; j++)
    { 
        int count = 0;
        for (int i=0; i < M; i++)
            if (arr[i][j] < 0) count++;
        std::cout<< count<< " ";  
    }
    return 0;
}
Yandex
Объявления
16.05.2012, 22:36     Найти наибольший и наименьший элементы и поменять их местами.
Ответ Создать тему
Опции темы

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