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

посчитать количество пар соседних элементов, которые имеют противоположные знаки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 10:28     посчитать количество пар соседних элементов, которые имеют противоположные знаки #1
посчитать количество пар соседних элементов, которые имеют противоположные знаки. размерность 200. диапазон -60 60.
Заранее спасибо)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2009, 10:28     посчитать количество пар соседних элементов, которые имеют противоположные знаки
Посмотрите здесь:

C++ Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Подсчитать количество пар соседних элементов массива с одинаковыми значениями C++
C++ Количество пар соседних элементов
C++ Количество пар соседних элементов, которые имеют одинаковые абсолютные значения, но противоположные знаки
Массивы. Подсчитать количество пар соседних элементов с одинаковыми значениями C++
Массивы. Подсчитать количество пар соседних элементов, которые имеют противоположные знаки C++
Определить количество пар соседних элементов массива с одинаковым значением (блок-схема) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VorobeY1326
Ученик 11 класса)
 Аватар для VorobeY1326
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 10:41     посчитать количество пар соседних элементов, которые имеют противоположные знаки #2
То есть дан массив из 200 чисел типа short, каждое из которых > -60 и < 60? Так?
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 11:14  [ТС]     посчитать количество пар соседних элементов, которые имеют противоположные знаки #3
да)))
VorobeY1326
Ученик 11 класса)
 Аватар для VorobeY1326
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 11:25     посчитать количество пар соседних элементов, которые имеют противоположные знаки #4
Есть вариант - просто перебрать числа с 1-ого по 199-ое и проверять их на разноименность со следующим.
Тогда вроде бы мы и проверим все 199 соседних пар чисел!
То есть вводим переменную типа int, которая будет считать кол-во пар, потом цикл, проверяющий 199 чисел на разноименность со следующим, если true, то увеличиваем счетчик на один.
Справитесь?
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 11:29  [ТС]     посчитать количество пар соседних элементов, которые имеют противоположные знаки #5
неуверенна, просто я немного не понимаю, как посчитать количество пар, я ток осваиваю с++))
VorobeY1326
Ученик 11 класса)
 Аватар для VorobeY1326
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 11:37     посчитать количество пар соседних элементов, которые имеют противоположные знаки #6
НУ код типо
C++
1
2
3
4
5
6
7
short mass[200];  \\Массив с числами
int par; \\Счетчик
for (int i=0; i<=198; i++)
{
  if ((mass[i]<0 && mass[i+1]>=0) || (mass[i]>=0 && mass[i+1]<0)) \\Проверка на противоположность знаков
  par++; \\Если знаки разные, то увеличиваем счетчик
}
В конце выполнения цикла par будет содержать количество пар разноименных соседних чисел.
По моему так.
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 14:20  [ТС]     посчитать количество пар соседних элементов, которые имеют противоположные знаки #7
спасибо

Добавлено через 1 минуту 58 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#define N 200
int main (void)
{
int i, mass[N];
int par;
srand(time(NULL));
printf(":\n");
for (i=0; i<N; i++)
{mass[i]=rand()%101-50;
printf("%3d ",mass[i]);}
{for (i=0; i<N; i++)
  if ((mass[i]<0 && mass[i+1]>=0) || (mass[i]>=0 && mass[i+1]<0))
  par++; }
  printf ("\n\n:\n");
  for (i=0; i<N;i++)
  printf("%3d ",par);
  getch();
  return 0;
}
не работает ...(((где ошибки?
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.05.2009, 14:24     посчитать количество пар соседних элементов, которые имеют противоположные знаки #8
Код
for (i=0; i<N;i++)
printf("%3d ",par);
Зачем 200 раз выводить par)) цикл for здесь ни к чему.
VorobeY1326
Ученик 11 класса)
 Аватар для VorobeY1326
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 14:42     посчитать количество пар соседних элементов, которые имеют противоположные знаки #9
1) В первом цикле не i<N, а i<N-1, т.к. у последнего элемента номер 199, а не 200
2) mass[i]=rand()%101-50 - тогда числа от -50 до 50, скорее mass[i]=rand()%121-60
3) Во втором цикле не N, а N-2, т.к. у последнего элемента нет следующего за ним
4) В начале надо определять par=0 иначе будет фигня
5)Не понял, зачем в конце выводить число пар N раз, вроде хватит одного!

Короче, так вроде работает:
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
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#define N 200
int main (void)
{
int i, mass[N];
int par=0;
srand(time(NULL));
printf(":\n");
for (i=0; i<N-1; i++)
{
    mass[i]=rand()%121-60;
    printf("%3d ",mass[i]);
}
{
    for (i=0; i<N-2; i++)
    if ((mass[i]<0 && mass[i+1]>=0) || (mass[i]>=0 && mass[i+1]<0))
    par++;
}
printf ("\n\n:\n");
printf("%3d ",par);
getch();
return 0;
}
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 14:59  [ТС]     посчитать количество пар соседних элементов, которые имеют противоположные знаки #10
спасибо за помошь)))вроде разобралась)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2009, 21:04     посчитать количество пар соседних элементов, которые имеют противоположные знаки
Еще ссылки по теме:

C++ Найти количество пар соседних элементов, одинаковых по абсолютному значению, но противоположных по знаку
Подсчитать количество пар соседних элементов с одинаковыми знаками C++
C++ Подсчитать количество пар соседних элементов, которые имеют противоположные знаки
Подсчитать количество пар соседних элементов массива с одинаковыми значениями C++
подсчитать количество пар соседних елементов которые имеют противоположные знаки в масиве заполниным рандомно C++

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

Или воспользуйтесь поиском по форуму:
dimon_91
10 / 10 / 1
Регистрация: 06.05.2009
Сообщений: 34
11.05.2009, 21:04     посчитать количество пар соседних элементов, которые имеют противоположные знаки #11
Можно условие проверки записать попроще:
C++
1
2
if ((mass[i])*(mass[i+1])<=0)
        par++;
Yandex
Объявления
11.05.2009, 21:04     посчитать количество пар соседних элементов, которые имеют противоположные знаки
Ответ Создать тему
Опции темы

Текущее время: 06:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru