С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Указатели, массивы. Не могу разобраться - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оптимизация алгоритмов http://www.cyberforum.ru/cpp-beginners/thread61881.html
Привет всем). Есть задача: "Дана целочисленная прямоугольная матрица. Определить номера строк и столбцов всех седловых точек". Я решил эту задачу таким способом: 1) нахожу минимальный элемент в...
C++ Одномерный массив! Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 0 до 50. Найти сумму элементов массива, с начала массива, до первого элемента равного нулю. http://www.cyberforum.ru/cpp-beginners/thread61873.html
Удалить минимальный и максимальный элементы массива C++
новичек исщет решение вот две задачки помогите . 1.Ввести одномерный статический массив из k чисел.Удалить минимальный и максимальный элементы массива. 2.Ввести матрицу размером NxM. Память для...
функции,поправьте код пожалуста. C++
Задание : описать функцию Repl(A,B), меняющую местами максимальные элементы матриц А и В произвольного порядка. Считать, что в каждой матрице только один элемент. Я написал код для определенных...
C++ Вывести все элементы числового массива на экран http://www.cyberforum.ru/cpp-beginners/thread61844.html
Всем доброго времени суток, у меня вопрос - как вывести все элементы числового массива на экран, Массивы только что начал изучать - так что не судите строго :) #include <iostream> using...
C++ Перевод угла из радиан в градусы, минуты и секунды Всем доброго времени суток, тут написал программу, которая переводит значение угла, заданное в радианах в градусы с десятичной дробной частью, но мне необходимо чтобы программа переводила радианы в... подробнее

Показать сообщение отдельно
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 424
07.11.2009, 17:32
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for(i=0,n=0,d=0,o=0; i<m; i++)
{
if(*(*Ar + i)<0)
   {
   *(*Otr+n)=*(*Ar + i)
   n++
   }
if(*(*Ar + i)>0)
  {
   *(*Pol+d)=*(*Ar + i)
   d++
   }
if(!*(*Ar + i))
   {
   *(*Nol+o)=*(*Ar + i)
   o++
   }
}
Не уверен сработает ли, но попробуй. Pol, Otr и Nol - это массивы с соответствующими элементами. Тока не забудь их объявить и выделить для них память, ну и освободить потом. После цикла просто выведи по очереди эти массивы.

Добавлено через 40 секунд
P.S. в данном случае m - это size

Добавлено через 2 минуты
З.Ы. писал не в лучшем состояние, так что если не работает - тапками не кидаться.

Добавлено через 1 минуту
попробую укоротить код

Добавлено через 1 минуту
C
1
2
3
4
5
6
for(i=0,n=0,d=0,o=0; i<m; i++)
{
if(*(*Ar + i)<0) *(*Otr+n++)=*(*Ar + i)
if(*(*Ar + i)>0) *(*Pol+d++)=*(*Ar + i)
if(!*(*Ar + i)) *(*Nol+o++)=*(*Ar + i)
}
вот)) всего останется 3 массивом соотв. размеров n, d и о.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.