Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Doctor_
237 / 236 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
1

Считать пары одинаковых элементов массива и вывести на экран количество пар

10.10.2011, 19:19. Просмотров 651. Ответов 8
Метки нет (Все метки)

Можете написать под функции, которые будут считать пары одинаковых элементов и вывод на экран количество пар.
Например:
1 1 3 4 5 6 7 8 8 0 1 2 6 5 4 2 3 3 4 6
В массиве 3 пары.

Под функцию надо для массива и индексами вторую с указателями

Массив с индексами:
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 <conio.h>
#include <time.h>
#include <windows.h>
 
#define N 20 
  
 
int main()
{//1
   int vektors[N], i,;
 
   system("cls");
   srand(time(NULL));
   printf("Masivi:\nViendimensijas masivs\n");
   for(i=0; i<N; i++)
       {//2
          vektors[i]=rand()%20; 
          printf("%4d", vektors[i]);
       }//2
printf("\n");
getch();
}//1
Массив с указателями:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
#define RINDAS 1
#define KOLONAS 20
 
int main()
{//1
 int  *vector, i;
 system("cls");
 srand(time(NULL));
 
 vector = (int *)malloc(RINDAS * sizeof(int *)); 
 printf("\nVektors\n");
 for(i=0; i<KOLONAS; i++)
 printf("%3d", *(vector+i)=rand()%5);
 printf("\n");
 system("pause");
 return 0;
}//1
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2011, 19:19
Ответы с готовыми решениями:

Подсчитать количество пар одинаковых рядом стоящих элементов массива
Программа, автоматическое заполнение 20 значного массива(вектора), под функция должна подсчитать...

Найти количество пар одинаковых рядом стоящих элементов в массиве
Функции с индексами и указателями считают количество пар одинаковых рядом стоящих элементов, ...

Сосчитать пары рядом стоящих одинаковых элементов массива
Есть 20-ти значный массив один с индексами второй с указателями, надо написать функцию для каждого...

Сосчитать пары рядом стоящих одинаковых элементов массива
Есть 20-ти значный массив с индексами, надо функцию для каждого массива которая будит вывод ответ...

Сосчитать пары рядом стоящих одинаковых элементов массива
Есть 20-ти значный массив один с индексами второй с указателями, надо функцию для каждого массива...

8
Gepar
1182 / 538 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
10.10.2011, 19:23 2
Цитата Сообщение от Doctor_ Посмотреть сообщение
int *vector, i;
Это вы хорошее имя подобрали.
Вообще задача простая:
функция принимает массив и количество его элементов (n), сортирует массив (так как std::sort нету то будет не удобно и придётся это делать вручную...), и дальше сверяет что если 2 элемента подряд одинаковые то выводим их на печать и ищем сл. элемент отличающийся от тех что мы уже напечатали.
Алгоритм понятен?
0
Doctor_
237 / 236 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
10.10.2011, 19:27  [ТС] 3
Цитата Сообщение от Gepar Посмотреть сообщение
Это вы хорошее имя подобрали.
Вообще задача простая:
функция принимает массив и количество его элементов (n), сортирует массив (так как std::sort нету то будет не удобно и придётся это делать вручную...), и дальше сверяет что если 2 элемента подряд одинаковые то выводим их на печать и ищем сл. элемент отличающийся от тех что мы уже напечатали.
Алгоритм понятен?
алгоритм то понятен, а вот как это всё записать вообще понятия не имею..
0
nikola166
9 / 9 / 1
Регистрация: 18.03.2010
Сообщений: 142
10.10.2011, 19:28 4
можно просто цикл for
C
1
2
3
4
5
int i;
for(i=0;i<strlen(name);i+=2)
{
if(name[i]==name[i+1]){printf("%d",name[i],name [i+1])}
}
где name имя массива
0
Doctor_
237 / 236 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
10.10.2011, 19:35  [ТС] 5
nikola166
надо именно под функции

Добавлено через 2 минуты

плюс мне не надо чтоб он выводил пары, а просто количество пар как указанно в примере
0
nikola166
9 / 9 / 1
Регистрация: 18.03.2010
Сообщений: 142
10.10.2011, 19:45 6
C
1
2
3
4
5
6
7
8
9
10
11
12
int Function(int  *name)
{
int m,i;
m=0;
i=0;
for(i=0;i<strlen(name);i+=2)
{
if(name[i]==name[i+1])
m++;
}
return m;
}
name-имя массива, а передовать массив по указателю на 1-й элемент в массиве.
или можно так это по значению:
C
1
 int Function(int  name[]){....}
Добавлено через 2 минуты
точнее так
C
1
2
3
4
5
6
7
8
9
10
11
12
int Function(int  *name)
{
int m,i;
m=0;
i=0;
for(i=0;i<strlen(name);i++)
{
if(name[i]==name[i+1])
m++;
}
return m;
}
0
Doctor_
237 / 236 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
10.10.2011, 19:59  [ТС] 7
мне надо через
C
1
2
void i_pare
void p_pare
0
Gepar
1182 / 538 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
10.10.2011, 19:59 8
nikola166, нет. Нужно именно так как я не написал, возьмите не сотрированную последовательность 1231456, если идти по вашему коду то тут нет пар вовсе, хотя может это я уже усложняю задачу: в условии не указано что нужно искать одинаковые элементы вообще, а только пары, в таком случае стоит подкорректировать мой алгоритм в конце те чтобы если найдена одна пара элементов то искалась следующая рядышком и если такая найдена то увеличить счётчик пар, а если уже другие числа идут - вывести количество пар.
0
nikola166
9 / 9 / 1
Регистрация: 18.03.2010
Сообщений: 142
10.10.2011, 20:06 9
Добавлено через 2 минуты
мне кажется что все слишком усложнено
0
10.10.2011, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 20:06

Найти количество одинаковых пар соседних элементов массива
Program prog2; Uses crt; const m=100; var mas : array of integer; i, k, n : integer; Begin ...

Найти количество пар одинаковых рядом расположенных элементов массива
Найти количество пар одинаковых рядом расположенных элементов массива. Например, в массиве...

Найти количество пар одинаковых рядом стоящих элементов массива
Найти количество пар одинаковых рядом стоящих элементов массива


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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