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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
#1

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

10.05.2009, 10:28. Просмотров 3231. Ответов 10
Метки нет (Все метки)

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

Подсчитать количество пар соседних элементов, которые имеют противоположные знаки - C++
Объявить массив целых чисел и заполнить его значениями, введенных с клавиатуры. Диапазон значений его элементов заданы в Вашем варианте...

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

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

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

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

Подсчитать количество пар соседних элементов с одинаковыми знаками - C++
Дан линейный массив из 11 целых чисел. Подсчитать количество пар соседних элементов, которые имеют одинаковые знаки. Спасибо за ранние.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
VorobeY1326
Ученик 11 класса)
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 10:41 #2
То есть дан массив из 200 чисел типа short, каждое из которых > -60 и < 60? Так?
0
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 11:14  [ТС] #3
да)))
0
VorobeY1326
Ученик 11 класса)
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
10.05.2009, 11:25 #4
Есть вариант - просто перебрать числа с 1-ого по 199-ое и проверять их на разноименность со следующим.
Тогда вроде бы мы и проверим все 199 соседних пар чисел!
То есть вводим переменную типа int, которая будет считать кол-во пар, потом цикл, проверяющий 199 чисел на разноименность со следующим, если true, то увеличиваем счетчик на один.
Справитесь?
0
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 11:29  [ТС] #5
неуверенна, просто я немного не понимаю, как посчитать количество пар, я ток осваиваю с++))
0
VorobeY1326
Ученик 11 класса)
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 будет содержать количество пар разноименных соседних чисел.
По моему так.
1
Катюня
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;
}
не работает ...(((где ошибки?
0
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.05.2009, 14:24 #8
Код
for (i=0; i<N;i++)
printf("%3d ",par);
Зачем 200 раз выводить par)) цикл for здесь ни к чему.
0
VorobeY1326
Ученик 11 класса)
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;
}
1
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 14:59  [ТС] #10
спасибо за помошь)))вроде разобралась)
0
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++;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2009, 21:04
Привет! Вот еще темы с ответами:

Подсчитать количество пар соседних элементов массива с одинаковыми значениями - C++
Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон значений : -50 до 50 Размерность массива: 200 ...

Массивы. Подсчитать количество пар соседних элементов с одинаковыми значениями - C++
1)Решить задачи, используя динамический одномерный массив. Выделение памяти под массив, его ввод с клавиатуры, вывод результата и основное...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями - C++
Что нужно сделать: Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон значений : -50 до 50 Размерность...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями - C++
Размерность массива : 200 Диапазон значений : от -50 до 50 Подсчитать количество пар соседних элементов с одинаковыми значениями


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.05.2009, 21:04
Ответ Создать тему
Опции темы

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