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

С++ Указатели. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить повторяющиеся слова в строке http://www.cyberforum.ru/cpp-beginners/thread117633.html
Здравствуйте! Как удалить из строки типа char, введенной с помощью cin.getline(buf, 80), одинаковые слова (слова могут быть разделены одним или несколькоми пробелами и знаками табуляции)? В полученной строке слова должны быть разделены только одним пробелом. Можно записать неповторяющиеся слова в новую строку. Но я что-то не могу понять как это сдалать((. Помогите, кто знает :) Добавлено...
C++ Напечатать треугольник Паскаля — таблицу биномиальных коэффициентов дано целое неотрицательное число K. Напечатать треугольник Паскаля - таблицу биномиальных коэффициентов (C из m по n) для всех возможных целых значений m и n(0<=m<=n<=K) http://www.cyberforum.ru/cpp-beginners/thread117624.html
C++ Програма генерирующая массив
Написать программу на языках С и , которая генерирует массив, содержащий 40 целых случайных значений из заданного набора (при выводе элементов массива на экран располагает значения в 5 столбцов). Диапазон значений и количество элементов массива задать как символьные константы. Набор значений: 10, 20, 30, 40, 50. Помогите с масивом на языке "С". Буду крайне благодарен.
Перезагрузить функции C++
Задание Перезагрузить функции для разных типов входных данных, или создать шаблоны функций, или переопределить операции для отмеченных пользователем типов (новые типы задавать в виде структур). Перезагрузить операции “<<”, “>>” для вводу и вывода транспонированных целых и действительных матриц размерностью nxm.
C++ Определить количество классов эквивалентных столбцов данной прямоугольной матрицы. Столбцы считать эквивалентными, если равны множества их элементов. http://www.cyberforum.ru/cpp-beginners/thread117595.html
подскажите пожалуйста!!!на СИ Определить количество классов эквивалентных столбцов данной прямоугольной матрицы. Столбцы считать эквивалентными, если равны множества их элементов.
C++ Найти в массиве элемент с наименьшим значением Помогите пожалуйста решить задачи... 1) Сформировать массив заданного размера из целых случайных чисел. Найти в полученном массиве элемент с наименьшим значением. Сформировать новый массив из всех чисел, которые попали в промежуток от наименьшего значения до конца массива. Оба массива вывести на экран. 2) Сформировать массив заданного размера из целых случайных чисел. Найти в полученном... подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
 Аватар для insideone
3620 / 898 / 47
Регистрация: 10.01.2010
Сообщений: 2,427
16.04.2010, 19:09     С++ Указатели.
Прошу прощения скосячил. Вот так будет верно
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
#include <iostream>
#include "math.h"
using namespace std;
int sgn(int num){
   return (num < 0)?-1:1;
}
 
int main(){
   int len = 0;
   cin >> len;
   if (len == 0) return 0;
   int* A = new int[len];
   for (int i = 0; i < len; i++)
      cin >> A[i];
   int cur = A[0], count = 0;
   for (int i = 0; i < len; i++)
      if ( abs(sgn(A[i])-cur) != 0 )
      {
         cur = -cur;
         count++;
      }
   cout << endl << count;
return 0;
}
Смысл в том что мы запоминаем отрицательное ли число предыдущее (в переменной cur) и сравниваем его с текущим. Выражение sgn(A[i])-cur дает... допустим текущее число -3, sgn(-3) будет -1, если cur было -1 тоже то -1 - (-1) == 0 а 0 значит менять не надо. А если cur было 1 то получим -1 - 1 == -2 != 0 - менять надо. Так же если текущее число положительное выходит 1 - cur
если предыдущее было положительное то 1 - 1 == 0 менять не надо. Ну и если было отрицательно выходит число 2 и менять надо
 
Текущее время: 22:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru