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

Унификация функций - C++

Восстановить пароль Регистрация
 
Q42Tje60wI
 Аватар для Q42Tje60wI
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 26
14.12.2010, 13:19     Унификация функций #1
Как переделать программу:
Код
#include <cstdlib>
#include <iostream>

#include <stdio.h>
#include <conio.h>
#include <math.h>
#pragma hdrstop
#pragma argsused
main ()
{	int size,i,j,number,min,max;
    int mas[100];
	int cash=0;

	printf("Please, enter size of array: ");
	scanf("%d",&size);
	printf("Size of array= %d\n\n",size);

	srand(time(0));
	for (i=0;i<size;i++) 
       mas[i]=rand()%200-100;

	printf("Array:\n");
	for (i=0;i<size;i++) 
       printf("mas[%d]=%d \n",i,mas[i]);
	printf("\n\n");

    min=mas[0];
   	for (i=0;i<size;i++)
 	  if (mas[i]<min) min=mas[i];
           	  
    max=mas[0];
    for (i=0;i<size;i++)  
       if (mas[i]>max) max=mas[i]; 
               
    for (i=1; i<=size ; i++)
 	  for (j=1; j<=size-i; j++)
  		if (mas[j]>mas[j+1])
		{  
          cash=mas[j];
  	      mas[j]=mas[j+1];
  	      mas[j+1]=cash;
	    } 
	    
	printf("Case of number operation:\n");
	printf("1. Find min\n 2. Find max\n 3. First nozero element\n");
	printf("4. Sorting algoritm Bubble\n\n");
	printf("Selected number: ");
	scanf("%d",&number);
	printf("\n\n");
	switch (number)
  	{
	    case 1: 
        	printf("1. 'Find MIN'\n min=%d \n",min);
        	break;
	    case 2: 
        	printf("2. 'Find MAX'\n max=%d \n",max);
            break;
	   case 3:
        	printf("3. 'First nozero element'\n");
        	for (i=0;i<size;i++)
        	  if (mas[i]) printf("First nozero(arr[%d])=%d \n",i,mas[i]);
        	break;
	  case 4:
        	printf("4. 'Sorting algoritm Bubble'\n\n Array was sorted:\n\t");
	        for (i=0;i<size;i++) 
              printf("mas[%d]=%d \n\t",i,mas[i]);
            break;
	 default:
        	printf("\n\nNumber operation no selected.\n Press any key for exit!");
        	getch();
            break;

	} //switch

	getch();  
}
Чтобы вместо страшного case был массив указателей на функции.
Код
pf(float*)(int);
    pf funcarr[4];
    funcarr[1]=find_min;
Типа такого. Вообщем как унифицировать функции?
Подскажите на примере 1-й операции хотя бы? А то у меня компилятор выдает ошибку (Dev C++)
Или учебник какой нибудь хороший с этой темой посоветуйте, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2010, 13:19     Унификация функций
Посмотрите здесь:

C++ Функций
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. C++
C++ Использование функций и шаблонов функций
C++ Объявление функций внутри других функций
C++ Использование функций и шаблонов функций
C++ Шаблоны функций
C++ Перегрузка функций
C++ Вызов функций внутри других функций

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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