Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51

Нахождение минимального элемента массива. Перевести с Паскаля на С++

16.01.2014, 00:08. Показов 1214. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
кто поможет переделать на С++ эту программу?
Pascal
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
Program MinElement;
Type Vector=Array [1..100] of integer;
Var   min : integer;
      i,n : byte;
      A : Vector;
{процедуры и функции}
{_____________________}
{Ввод элементов массива}
Procedure InputData;
  begin
    Readln(n);
    For i:=1 to n do
      Read(A[i]);
  end;
{_____________________}
{Находит минимальный элемент}
Procedure MinElem;
  begin
    min:=A[i];
    For i:=n downto 1 do
      If min<0 Then min:=A[i];
  end;
{_______________________}
{основная}
Begin
  Assign(input,'input.txt');Reset(input);
  Assign(output,'output.txt');Rewrite(output);
  InputData;
  MinElem;
  Writeln(min);
  Close(input);
  Close(output);
End.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2014, 00:08
Ответы с готовыми решениями:

Нахождение минимального элемента массива
Как найти минимальное значение??? #include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; void main () { ...

Нахождение минимального элемента массива
Добрый день , уважаемые знатоки. У меня возник вопрос по поводу нахождения минимального числа. Вот мой код : #include...

Нахождение минимального элемента массива
Изучаю С++... Помогите решить задачку!! В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) минимальный элемент...

7
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,859
16.01.2014, 01:56
мне кажестя что этот код ошибочен, что вы дали
ну как минимум эта строка:
Pascal
1
If min<0 Then min:=A[i];
может что-то не догоняю, но условие min<0 бредово

да и вообще смысл процедуры MinElem не ясен, она видимо ничего не возвращает никуда

вот перевёл всё начало на С++ так как вижу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
 
size_t n=100;
std::vector<int> A;
 
void InputData()
{
    std::cin>>n;
    int tmp;
    for (size_t i=0;i!=n;++i) {
     std::cin>>tmp;
     A.push_back(tmp); }
}
 
int MinElem()
{
    int min(A[0]);
    for (size_t i=0; i!=n;++i)
        if(min>A[i]) min=A[i];
    return min;
}
за вами остался только main()
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
16.01.2014, 02:17
Цитата Сообщение от abit Посмотреть сообщение
да и вообще смысл процедуры MinElem не ясен, она видимо ничего не возвращает никуда
Процедура вообще никогда ничего никуда не возвращает. Зато MinElem изменяет глобальную переменную Min...
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,859
16.01.2014, 02:40
Цитата Сообщение от UI Посмотреть сообщение
Процедура вообще никогда ничего никуда не возвращает. Зато MinElem изменяет глобальную переменную Min...
есть мнение что глобальные переменные тут не нужны, это моветон

таким стилем я уже наблюдал как хранят всякие переменные циклов i,j,k глобальными, сейчас минимальный элемент хранят глобальным, завтра что, будем хранить глобальными tmp-переменную в обмене элементов массива, а послезавтра будем содержимое регистров eax хранить глобально? нет, уж увольте, пройдите тему "область видимости переменных" прежде чем браться за программирование
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
16.01.2014, 02:51
Цитата Сообщение от abit Посмотреть сообщение
есть мнение что глобальные переменные тут не нужны, это моветон
Это в теме не обсуждается. Насчет "моветон это или нет" - в Холивары. Для совсем начинающего - никакого особого криминала не вижу. Никто "экспертом" не родился.
1
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,859
16.01.2014, 02:56
Цитата Сообщение от UI Посмотреть сообщение
Это в теме не обсуждается. Насчет "моветон это или нет" - в Холивары. Для совсем начинающего - никакого особого криминала не вижу. Никто "экспертом" не родился.
как это нет криминала? Вы в курсе что такое мультипоточность? как вы думаете поведёт себя подобный код, где два процесса будет одновременно искать в разных массивах минимальный элемент который хранится в глобальной переменной?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.01.2014, 03:14
Цитата Сообщение от UI Посмотреть сообщение
Для совсем начинающего - никакого особого криминала не вижу.
Легче научиться, чем переучиться. Такое надо с самого начала прививать чтобы потом не тратить кучу времени на выявление ошибок ввиду отсутствия логики нормального построения программы. Считаю, что замечание уместно.

Вот пример: считывает 10 чисел с файла и выводит минимальное в результирующий файл. Сделано с перенаправлением потоков.
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
#include <fstream>
#include <iostream>
 
void input(int *a, const int size)
{
    for (int i=0; i < size; i++)
        std::cin >> a[i];
}
 
int min_element(const int *a, const int size)
{
    int min = a[0];
    for (int i=1; i < size; i++)
        if (a[i] < min)
            min = a[i];
    return min;
}
 
int main()
{
    std::ifstream ifs("input.txt");
    std::ofstream ofs("output.txt");
    std::cin.rdbuf(ifs.rdbuf());
    std::cout.rdbuf(ofs.rdbuf());
 
    const int size = 10;
    int arr[size];
    input(arr, size);
    std::cout << "Min element: " << min_element(arr, size);
}
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,859
16.01.2014, 03:18
если мы говорим о начинающем в Си, Бейсике, Дельфи - один разговор, но если речь идёт о C++, fpc, haskell, python - то область видимости нужно понимать прежде чем браться за язык, это далеко не сложная тема, засорять глобальное пространство имён можно разве что на hello world, а всякие using namespace использовать очень редко внутри чего-то а не глобально, ибо мой опыт уже подсказывает что переучить Сишника в C++ очень сложно... он постоянно лепет всякую фигню, вот вам пример совсем недавнего кода, встретил два дня назад у одного из своих студентов:
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
// Согласно ТЗ этот код должен заменить табуляцию на пробелы по всей строке, 
// убрать ведущие и конечные пробелы в строке, а также
// раскрыть кавычки, если в них заключена строковая константа.
string Config::trim(string &src){
 
    char * ptr=(char *)src.c_str();
    char * dst;
 
    for(int i=0;i<strlen(ptr);i++){
        if(ptr[i]<32) ptr[i]=32;
    }
 
    for(int i=0;i<strlen(ptr);i++){
        if(ptr[i]>32){
            dst=ptr+i;
            break;
        }
    }
    for(int i=strlen(dst);i>0;i--){
        if(dst[i]>32){
            dst[i+1]=0;
            break;
        }
    }
 
    src=dst;
 
    if(src.c_str()[0]=='"') src.erase(0,1);
    if(src.c_str()[src.length()-1]=='"') src.erase(src.length()-1,1);
 
    return src;
}
я пока читал - офигивал, можно в учебники вносить как нельзя писать)
это чисто Сишный бред... особенно доставило то, что он оформил src как ссылку и не константую и несмотря на то что он изменил содержимое кучей всяких c_str и внимание src = (char *) !!! тут:
C++
1
   src=dst
так он её ещё и возвратил зачем-то

вот пример развития таких "начинающих" которых Вы тут защищаете, нужно сразу им по рукам бить, через год спасибо скажут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2014, 03:18
Помогаю со студенческими работами здесь

Функция: нахождение минимального элемента массива
Привет всем. Хочу разобраться в функциях, но я в них профан, если можно обьясните что да как и главное как это оформлять. Например нужно...

Рекурсия: нахождение минимального элемента массива
Помогите пожалуйста исправить ошибки в коде само задание: Составить рекурсивную функцию, которая вычисляет минимальный элемент массива. ...

Рекурсия: нахождение минимального элемента массива
Определить рекурсивную функцию,возвращающую минимальный элемент массива.Использовать её для одномерного массива,содержащего n целых...

Не работает нахождение минимального элемента массива и его индекса
Найти минимальный член массива и его индекс. min = a; imin = 0; for (i = 0; i &gt;= n; i++) if (min &lt; a) min = min; ...

Перевести из паскаля нахождение строк с наибольшим количеством нулей
Var i,j,n,m,max,imax:integer; A:array of integer; Function Kol(i:integer):byte; Var j,k:integer; Begin k:=0; For...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru