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

Заменить case на вызов функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка двух текстовиков http://www.cyberforum.ru/cpp-beginners/thread19712.html
Написать прогу на языке Си, проверяющую, совпадают ли тексты в двух файлах #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main () {
C++ Среднее арифметическое значение вещественных чисел из заданного файла Напишите функцию на языке Си, вычисляющую среднее арифметическое значение вещественных чисел из заданного файла Тесты: 10 2134 123.1234 12.24 3.35 235. 532 69.546 346.345 : 385.067139 #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main() { http://www.cyberforum.ru/cpp-beginners/thread19709.html
C++ Решение дифференциального уравнения Риккати методом Эйлера
---------------------------------------- Это так сказать задание. Решить дифференциального уравнения Риккати методом Эйлера Само уравнение: p(t)=p(t)*A+Atr*p(t)-p(t)*B*Btr*p(t)+Q Atr и Btr - траспонированные матрицы p(t)-симметричная матрица n*n Критерий окончания решения - выполнение следующего условия: <=E (i,j=1..n) Контрольный пример:
C++ программа вычисления значений функции в указанном промежутке
завтра уже надо сдавать лабу, а она у меня не пашет( программа вычисления значений функции в указанном промежутке. #include <stdlib.h> #include <string.h> #include <stdio.h> long double func (float x,int n) { long double r,z,g,q,y,t,f; int b;
C++ Описать рекурсивную функцию, находящая максимум из разницы элементов, которые симметричны средине вектора http://www.cyberforum.ru/cpp-beginners/thread19688.html
В общем на Си нужно сделать следующее: Описать рекурсивную функцию max_sim(x,n), которая находит максимум из разницы элементов, которые симметричны средине (x - целочисленный, вектор длины n) С рекурсией не дружу вообще) Может кто помочь?)
C++ Нужно добавить сортировку по афавиту Не могу сделать сортировку по алфавиту , остальная часть работает, есть отдельно сортировка но что то не получается у меня их соеденить. Нужно сделать сортировку по именам пунктов назначения AEROFLOTs.name. Кто знает подскажите пожалуйста, совсем хорошо если с куском кода. #include <string.h> #include <stdio.h> #include <math.h> #include <conio.h> #define N 8 void RGR() { подробнее

Показать сообщение отдельно
enoka
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 19

Заменить case на вызов функций - C++

25.12.2008, 20:34. Просмотров 975. Ответов 0
Метки (Все метки)

вот код программы,работает..а как переделать?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
int main ()
   {
      int **x,**y,p,fl1,i,j,d,n,m,v,fl,k,g,e;
      char c;                                                                                                                                                                                                                                                     
      v=0;
      fl=0;
      do
      {
      puts("1-Vvod massiva");
      puts("2-Vjvod ischodnogo massiva");
      puts("3-Formirovanie novoi matricj iz stolbcov, ne imejushimi odinakovuh elementov");
      puts("4-Vjvod novoi matricj");
      puts("0-Vjchod");
      scanf("%d",&c);
      switch (c)
         {
            case 1:if(x!=NULL)
                     for (i=0;i<n;i++)
                         free(*(x+n));
                   free(x);
               puts("Ischodnji massiv:");
                    do
                       {
                        printf("kollichestvo strok\n");
                        scanf("%d",&n);
                        if(n<1||n>100)
                           printf("\n Oshibka!!!");
                       }
                    while(n<1||n>100);
                    do
                       {
                        printf("kollichestvo stolbcov\n");
                        scanf("%d",&m);
                        if(m<1||m>100)
                           printf("\n Oshibka!!!");
                       }
                    while(m<1||m>100);
                    x=(int**)malloc(n*sizeof(int*));
                    for(i=0;i<n;i++)
                      *(x+i)=(int*)malloc(m*sizeof(int));
                    puts("\n Vvedite massiv");
                    for(i=0;i<n;i++)
                       for(j=0;j<m;j++)
                          {
                          printf("Vvedite x[%d][%d]=",i,j);
                          scanf("%d",(*(x+i)+j));
                          }
                    fl=1;
                    fl1=0;
                    break;
            case 2: if(fl)
                      {
                        puts("\n Vvedennji massiv");
                        for(i=0;i<n;i++)
                           {
                              for(j=0;j<m;j++)
                                  printf("x[%d][%d]=%3d   ",i,j,*(*(x+i)+j));
                                  printf("\n");
                           }
                      }
                    else
                       printf("\n Vj ne vveli massiv\n");
                    puts("Dlja prodolgenija nagmite Enter");
                    getch();
                    break;
            case 3: if(fl)
                        {
                            y=(int**)malloc(n*sizeof(int*));
                            for(g=j=0;j<m;j++)
                               {
                                  k=0;
                                  for(i=0;i<n-1 && k==0;i++)
                                      for(e=i;e<n-1 && k==0;e++)
                                          if (*(*(x+i)+j)==*(*(x+e+1)+j))
                                              k++;
                                  if(k==0)
                                     {
                                          for(i=0;i<n;i++)
                                              {
                                              *(y+i)=(int*)realloc(*(y+i),(g+1)*sizeof(int));
                                              *(*(y+i)+g)=*(*(x+i)+j);
                                              }
                                          g++;
                                     }
                               }
 
                        fl1=1;
                        printf("Dlja poluchenija rezul'tata sdelajte punkt 4\n");
                        }
                    else
                        printf("\n Vj ne vveli massiv\n");
                    puts("Dlja prodolgenija nagmite Enter");
                    getch();
                    break;
            case 4: if(fl)
                     {
                      if(fl1)
                       {
                         if(g>0)
                          {
                             printf("Poluchennaja matrica:\n");
                             for(i=0;i<n;i++)
                                {
                                   for(j=0;j<g;j++)
                                       printf("%4d   ",*(*(y+i)+j));
                                   printf("\n");
                                }
                          }
                       else
                          printf("V dannoj matrice net takich stolbcov\n");
                       }
                      else
                        printf("Snachala obratites' k punktu 3\n");
                     }
                    else
                        printf("\n Vj ne vveli massiv\n");
                    puts("Dlja prodolgenija nagmite Enter");
                    getch();
                    break;
            case 0: v=1;
                     if(x!=NULL)
                       {
                        for(i=0;i<n;i++)
                            free(*(x+i));
                        }
                     free(x);
                     if(y!=NULL)
                       {
                        for(i=0;i<n;i++)
                            free(*(y+i));
                       }
                     free(y);
                    break;
            default: printf("\n Nevernji vjbor punkta menu!!!\n");
         }
      }
      while(v==0);
      printf("Reshenie zaversheno");
 
  }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru