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

ООП Одномерный массив - вектор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработчик текстовых файлов http://www.cyberforum.ru/cpp-beginners/thread226327.html
Написать программу-обработчик текстовых файлов,что б создавала текстовый файл в котором текст выравнивается за левым краем(без переносов) с сохранением абзацев. Файл-источник и файл-приемник указать в командной строке,сразу за исполнительным файлом.
C++ Матрица 7х7 Среди столбцов заданной целочисленной матрицы с размера 7х7, компоненты которой не привышают 10 найти столбец с минимальным произведением элементов http://www.cyberforum.ru/cpp-beginners/thread226322.html
дополнить 1 строку в программе C++
# include <stdio.h> # include <Windows.h> int strlen(char *word) { int i; for (i=0; word!='\0'; i++); return i; } int kk(char *str)
При отладке выдается ошибка сегментации C++
Всем привет! :) У меня такая проблема: программа по численным методам (кусок кода - дифференциальная прогонка), pu - массив 101 на 101, заполнен целиком (от нуля до ста), компилятор (Dev С++) при отладке выдает ошибку сегментации. при этом значение i - (внимание!) 216! как???? for (j=1; j++; j<100) { p=0; q=f(0,j*h,t); ...
C++ Квадрат AA http://www.cyberforum.ru/cpp-beginners/thread226304.html
Всё я разобрался!
C++ Найти ошибку Что не дописал в коде? при выборе, например, 10 или 11 выдает "гриб", а не "грибов" А если вбить 99, то выдает "грибов" ,т.е. правильно #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <ctype.h> #include <iostream> #include <string> using namespace std; подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
11.01.2011, 11:34
Вам ничего делить не надо, массив поделён на подмассивы отрицательными элементами. Вам надо завести двё счётчика - один будет указывать на левый конец подмассива, другой - на правый. Изначально левый счётчик указывает на первый элемент массива, а позицию правого вы ищете, перебирая элементы массива последовательно, пока не встретите отрицательный. Затем врубаете сортировку элементов, заключённых между этими счётчиками. После этого левый счётчик занимает позицию правого, а правый снова передвигается, пока не найдётся очередной отрицательный элемент. Так делается до тех пор, пока правый счётчик не станет указывать на последний элемент начального массива. Пример:

Код
1.
6 1 8 4 -1 2 5 9 -7 5 4 -1 2 5 2 1
^        ^
i        j

2.
1 4 6 8 -1 2 5 9 -7 5 4 -1 2 5 2 1
         ^        ^
         i        j

3.
1 4 6 8 -1 2 5 9 -7 5 4 -1 2 5 2 1
                  ^      ^
                  i      j

4.
1 4 6 8 -1 2 5 9 -7 4 5 -1 2 5 2 1
                         ^       ^
                         i       j

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