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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2012, 19:52   #1
Alex_Dep
Пользователь
 
Регистрация: 18.01.2012
Сообщений: 26
По умолчанию Не могу дописать программу(Visual C++ 2008)

Дана целочисленная матрица A [ N ][ N ]. Сформировать одномерный массив X [2 N ] по следующему правилу: элементами одномерного массива с нечетными индексами будут элементы главной диагонали матрицы, а с четными - побочной диагонали. Определить, какое значение массива Х чаще всего встречается в нем самом.


Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>

int _tmain(int argc, _TCHAR* argv[])
{
	int N,x,i,j;
		printf ("Enter N: ");
		scanf ("%d", &N);

   
	if (N<1) N=1;  

	int A[100][100],X[200];

	for (i=0; i<N; i++)
	for (j=0; j<N; j++)
	{
		printf ("\nEnter [%d][%d]\nElement matrix: ", i,j);
		scanf ("%d", &A[i][j]);

	}

		printf ("\nmartix A:\n") ;
	for (i=0; i<N; i++)
		{for (j=0;j<N;j++) printf(" %d ", A[i][j]); printf("\n");}
		
	for (i=0; i<N; i++)
		{ X[2*i+1]=A[i][i] ; }
	for (i=0; i<N; i++)
		{ X[2*i]=A[i][N-i-1] ; }
			printf ("\nmassiv X:\n");
	for (i=0; i<2*N; i++)
			printf ("%d ", X[i]);



		getchar();
		getchar();
	return 0;
}
не могу написать: Определить, какое значение массива Х чаще всего встречается в нем самом

Последний раз редактировалось ACE Valery; 18.01.2012 в 20:35.
Alex_Dep вне форума Ответить с цитированием
Старый 18.01.2012, 20:23   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Определить, какое значение массива Х чаще всего встречается в нем самом

Код:
template <typename T, size_t N>
void frequency(const T (&arr)[N])
{
    typedef std::map<T, size_t> Map;
    Map map;

    for (size_t i=0; i<N; i++)
        ++map[arr[i]];

    size_t max = 0;    
    typename Map::const_iterator found;

    for (typename Map::const_iterator it = map.begin(); it != map.end(); ++it)
    {
        if (it->second > max)
        {
            max = it->second;
            found = it;
        }
    }

    std::cout << found->first << " чаще всего встречается в нем самом, насяльника!" << std::endl;
}

...

frequency(X);
Код не проверялся, но что-то типа того...
Rififi вне форума Ответить с цитированием
Старый 18.01.2012, 20:35   #3
Alex_Dep
Пользователь
 
Регистрация: 18.01.2012
Сообщений: 26
По умолчанию

а как будет выглядеть этот код без использования манипуляторов(<<, >>), cin и cout. Используя printf и тому подобное?
Alex_Dep вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу дописать программу emgoi Visual C++ 2 21.09.2011 20:11
Не могу дописать программу IROKEZ Общие вопросы C/C++ 1 19.04.2010 19:41
Написать программу на Visual Basic 2008 apach Помощь студентам 2 28.03.2010 21:25
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34