Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2010, 21:12   #1
agent007
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 53
Восклицание Все ли пары элементов линейного массива имеют только одну общую цифру в своей записи? с++

Помогите, подкинте идей как сие решать:
1)-Все ли пары элементов линейного массива имеют только одну общую цифру в своей записи?
я начинал ковырятся но безрезультатно и не до конца развил идею, идея была такова: создать новый массив в который занести все элементы массива таким образом если было число 154, то станет 1 5 4, но у меня она косо както получилась, тут мне уже отвечали, но моё имхо там бред а не ответ, вообще не то, вот моё(правда почему то 12 делает как 2 1 и т.д), главный принцип: вон цифра 1 повторилась в 9 элементах, это и выводим):
PHP код:
#include <stdio.h> 
void main(){ 
int kol=1
int c
cоnst int m=14
int mas2[m]; 
int mas[m]={12217040513314411510171689}; 
int max=20
int sni
for(
int i=0;mi++) 

mas]; 
printf("\n"); 
while(
s>=1


10
s=s/10
printf("%d",n); 


printf("\n\n",n); 


мне бы хотябы знать алгоритм, и ещё может есть идеи по поводу этого: -В каждом столбце матрицы найти наибольшую группу подряд идущих элементов, образующих арифметическую прогрессию?
Идеи есть?
agent007 вне форума Ответить с цитированием
Старый 06.07.2010, 21:34   #2
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

1) разбиваешь каждую пару элементов по разрядам и сравниваешь их
2) Не совсем ясно,что там под наибольшей группой имеется ввиду.
Составить матрицу со столбцами представл. из себя арифм прогрессию. И выбрать (похоже ) столбец с наибольшей их суммой или коэффициентом.

Пиши во фриланс, там тебе быстро сделают за деньги или, как там говорят, - скромнейшее вознаграждение.
Я же могу сделать на visual C++ CLR.
Loji вне форума Ответить с цитированием
Старый 06.07.2010, 21:48   #3
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Код:
#include <iostream>
#include <algorithm>
#include <vector>

std::vector< int > Digits( int digit ){
    std::vector< int > digits;
    while( digit ){
	if( std::find( digits.begin(), digits.end(), digit % 10 ) == digits.end() )
	    digits.push_back( digit % 10 );
	digit /= 10;
    }
    return digits;
}
	

int main(){
    const int ARRAY_LENGTH = 4;
    int array[ ARRAY_LENGTH ]={ 12, 23, 13, 32 };
    bool isIt = 1;
    for( int i = 0; i + 1 < ARRAY_LENGTH; i += 2 ){
	std::vector< int > first  = Digits( array[ i ] );
	std::vector< int > second = Digits( array[ i + 1 ] );
	int count = 0;
	for( unsigned int i = 0; i < first.size(); ++i )
	    if( std::find( second.begin(), second.end(), first[ i ] ) != second.end() )
		    count++;
	if( count != 1 )
	    isIt = 0;
    }

    std::cout << ( isIt ? "Да" : "Нет" ) << '\n';
}
Это если попарно - 1 и 2 элемент, 3 и 4...
Если же попарно это 1 и 2 элемент, 2 и 3 элемент :
Код:
for( int i = 0; i + 1 < ARRAY_LENGTH; i += 2 )
поменять на :
Код:
for( int i = 0; i + 1 < ARRAY_LENGTH; ++i )
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 06.07.2010 в 21:59.
ozo вне форума Ответить с цитированием
Старый 07.07.2010, 02:36   #4
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

ozo
Судя по всему, вопрос все же идет о любой случайной паре чисел из этого массива, а не о парах соседних чисел...
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наибольший элемент из элементов одномерного массива,которые имеют парный номер soblaznitel Помощь студентам 0 26.05.2010 22:02
Добавить только одну строчку, а не все hozey Общие вопросы Delphi 3 14.05.2010 18:12
Создать программу замены четных элементов линейного массива на заданное число d MrJohanson Помощь студентам 3 26.01.2010 12:25
Построить массив, в который поместить все элементы второго массива, оканчивающиеся на цифру 5 Паскалька^^ Паскаль, Turbo Pascal, PascalABC.NET 11 07.01.2009 02:54