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

Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить является ли матрица магическим квадратом http://www.cyberforum.ru/cpp-beginners/thread795114.html
Здравствуйте. помогите написать программу на языке С++. Дана целая матрица n-го порядка. Определить является ли она магическим квадратом, т.е. такой в которой суммы элементов во всех стороках и столбцах одинаковы. Если можно с объяснением. заранее спасибо
C++ Непонятны некоторые функции Непонятны следующие функции, что они выполняют: (char)((int)('a')+j)) break; // что значит эта запись? char PROC(char s) // почему записывается в скобках новый char http://www.cyberforum.ru/cpp-beginners/thread795105.html
C++ Задача на массив и строки
Написать программу, которая вводит с клавиатуры массив, из N вещественных чисел, находит среди элементов массива минимальный и максимальный элементы и их количество и выводит результат пользователю; затем вводит с клавиатуры строку длиной не более 200 символов, еще одну строку длиной не более чем 10 символов и номер позиции, начиная с которой ищет первую позицию вхождения второй строки в первую,...
C++ Удалить из числа все повторяющиеся цифры кроме первого вхождения. Ошибка в коде
Удалить из числа все повторяющиеся цифры кроме первого вхождения. Например: на входе: 112, на выходе: 12. В моем случаи: на входе: 112, на выходе: 12-86841313513. #include<stdio.h> #include<iostream> #include<math.h> #include<locale.h> using namespace std;
C++ считывание амперсанда http://www.cyberforum.ru/cpp-beginners/thread795068.html
Нужно сделать считывание амперсанда без замены его в цикле. С использованием gets и sscanf. Добавлено через 4 часа 21 минуту #include "StdAfx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <TCHAR.h> #include <time.h> #include <conio.h>
C++ Программирование с использованием массивов и строк Постановка задачи 1. Задан массив, состоящий из слов. Используя функции сформировать и вывести массив слов заданного типа. Восьмеричное Long; Шестнадцатеричное Int; 2. Задана строка, состоящая из слов. Слова друг от друга отделяются одним или несколькими пробелами. Количество символов не превышает 255. В конце текста ставится точка. Сформировать и вывести массив слов заданного типа.... подробнее

Показать сообщение отдельно
kran69
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
26.02.2013, 12:30     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы)
Самый простой метод найти мин и макс, так это looр'ить через весь массив и сравнивать элементы друг с другом, что-то типа этого:

C++
1
2
3
4
5
6
7
8
9
int min(int myArr[], int size)
{
    int min = myArr[0];
    for (int i = 1; i < size; ++i)
    {
        if(min >= myArr[i]) { min = myArr[i]; }
    }
    return min;
}
что-бы найти макс, нужно только знак равенства поменять. Это не самый лучший способ, так как через один и тот-же массив придеться лупить два раза, есть более эффективные алгоритмы, но они сложнее. Так-же, зависит от того какой контейнер изпользуеться - в set уже все элементы уникальны и уже упорядочные, то есть все что нужно так это вызвать первый и последний элемент.

Как только будет известно мин и макс, можешь написать использовать std::swap. А можно немного поменять алгоритм мин и макс, так-что вместо элемента функция вернула-бы индекс и самому(ой) написать функцию которая поменяет мин и макс в массиве.

Добавлено через 4 минуты
Цитата Сообщение от victoriana Посмотреть сообщение
а чем можно заменить функцию std::swap, <algorithm>??
можно самому(ой) написать swap:

C++
1
2
3
4
5
6
void swapMinAndMax(int myArr[], int indexOfMin, int indexOfMax)
{
    int min = myArr[indexOfMin];
    myArr[indexOfMin] = myArr[indexOfMax];
    myArr[indexOfMax] = min;
}
 
Текущее время: 00:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru