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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Из scanf в std::cin http://www.cyberforum.ru/cpp-beginners/thread210721.html
Как тоже самое сделать с помощью std::cin? printf("Введите автора %d книги.\n",i+1); scanf("%31s ",ar.author); fflush(stdin);
C++ вторая производная Подскажите, плиз, как найти вторую производную функции в точке? http://www.cyberforum.ru/cpp-beginners/thread210709.html
Решето Эратосфена C++
Определить простые числа методом просеивания с помощью <<решета Эратосфена>> с _битовой упаковкой_ данных при сохранении. #include <math.h> #include <fstream.h> #define MAXN 100000000 char sieveE; void main() { ofstream f1("out.txt");
C++ Шифр Бэкона
Народ, помогите решить задачу, если есть что то похожее то можете дать ссылку? Буду очень благодарен Шифр Бэкона. Требуется разработать программу шифрования текстовых данных в файле и программу дешифрования. ключ хранится в отдельном файле.
C++ Дана строка Подсчитать общие количество в ней строчных латинских букв http://www.cyberforum.ru/cpp-beginners/thread210683.html
спасите Дана строка Подсчитать общие количество в ней строчных латинских букв 2 Дана строка предложение Записать все слова встроке с права на лево ПРимер It is nice dav ---tI si ecin vad.
C++ Найти сумму 2 наибольших из трех чисел 1) Даны 3 целых числа. Найти сумму 2 наибольших из них. 2)дана структура данных из 5 названий цветочных растений цветок -название -месяц цветения пользователь вводит дату получает название растения. подробнее

Показать сообщение отдельно
Q42Tje60wI
 Аватар для Q42Tje60wI
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 26
14.12.2010, 13:19     Унификация функций
Как переделать программу:
Код
#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++)
Или учебник какой нибудь хороший с этой темой посоветуйте, пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru