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

Как передать параметр типа "указатель на указатель" в функцию? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Visual C++ Ошибка: приложение будет закрыто http://www.cyberforum.ru/cpp-beginners/thread27732.html
Компилирую прогу ошибок нет запускается ана потом бац : приложение будет закрыто, отправить отчет и т.д. Че это ваще за шняга?
C++ Простые сомножетели Здрасте всем читающим. кто может помочь кодом буду очень благодарен Вот задача: Простые сомножители. Любое натуральное число может быть единственным образом разложено на простые сомножители. Напишите программу для выполнения такого разложения всех натуральных чисел от N1 до N2 с использованием рекурсивной программы. Заранее спосибо !))) Добавлено через 2 минуты 6 секунд С++/DOS http://www.cyberforum.ru/cpp-beginners/thread27728.html
C++ Нарисовать 2 блок-схемы по готовому коду.
1.Найти наибольшую сумму чисел ряда 1;1/2;1/3;1/n, не превышающую заданное число k. #include <iostream>; using namespace std; int main() { double s,i,k; cout<<"BBeguTe K\n"; cin>>k; i=1; s=0;
Задача с исп. структур: массив со сведениями о пациентах клиники. C++
Очень прошу помочь с задачей: Сформировать массив, содержащий сведения о пациентах глазной клиники. Структурный тип содержит поля: фамилия пациента, пол, возраст, место проживания (город), диагноз. Написать программу, которая выдает информацию: - количество иногородних, прибывших в поликлинику; - список пациентов старше Х лет с диагнозом J. Желательно без использования методов из ООП(...
C++ Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента http://www.cyberforum.ru/cpp-beginners/thread27691.html
Дан массив A.Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента.
C++ Баланс скобок проверить правильность расстановки скобок, используя контейнерные типы(стек) подробнее

Показать сообщение отдельно
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
27.03.2009, 22:43     Как передать параметр типа "указатель на указатель" в функцию?
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
#include "stdafx.h"
#include <process.h>
#include <iostream>
using namespace std;
#include <iomanip>
using std::setiosflags;
using std::setw;
using std::ios;
#include <cstdlib>
#include <string.h>
 
//-------------------------- 
 
struct TStruct
{
char sh[3];
char fio[10];
int days;
int dhours;
double tariff;
}t[]={0};
 
//---------------------------
 
int create(TStruct *, int);
void show (TStruct *, int);
int srz (TStruct *, int);
void sort (TStruct *, int);
void outsorted (TStruct *, int );
 
//---------------------------
 
int main()
{
 
int i=0, j=0;
i=create (t, i);
show (t, i);
j=srz (t, i);
sort (t, i);
outsorted (t, i);
system("pause");
return 0;
}
 
//---------------------------
 
int create (TStruct *t, int i)
{
cout << "Skolko zapisey?\n";
cin >> i;
for (int j=0; j<i; j++)
{
 system("cls");
 cout << "Vvedite shifr\n";
 cin >> t[j].sh;
 system("cls");
 cout << "Vvedite FIO\n";
 cin >> t[j].fio;
 system("cls");
 cout << "Vvedite kol. dney v nedelu\n";
 cin >> t[j].days;
 system("cls");
 cout << "Vvedite kol. chasov v den\n";
 cin >> t[j].dhours;
 system("cls");
 cout << "Vvedite tarifnuyu stavku\n";
 cin >> t[j].tariff;
 system("cls");
}
return i;
}
 
//----------------------------
 
int srz(TStruct *t, int i)
{
double srz=0;
for (int j=0; j<i; j++)
 srz=(srz+t[j].days*t[j].dhours*t[j].tariff);
 cout << "SRZ = " << srz/i << endl;
return 0;
}
void show (TStruct *t, int i)
{
for (int j=0; j<i; j++)
 cout << setw(5) << "\t" << t[j].sh << setw (13) << t[j].fio << setw(3) <<
 t[j].days << setw(3) <<t[j].dhours << setw(5) <<t[j].tariff << endl;
 
}
 
//----------------------------
 
void sort (TStruct *t, int i)
{
int z, k=1;
TStruct *q = t;
 
while (k)
{
 k=0; 
 for (z=0; z<i-1; z++)
 {
   if (strcmp( t[z].fio, t[z+1].fio )>0)
   {
         *q=*(t+z);
         *(t+z)=*(t+z+1);
         k=1;
   }
   }
   }
}
 
//-----------------------------
 
void outsorted (TStruct *t, int i)
{
cout<<setw(10)<<setiosflags(ios::left)<<"shifr"
<<setw(10)<<setiosflags(ios::left)<<"FIO"
<<setw(10)<<setiosflags(ios::left)<<"DaysPerWeek"
<<setw(10)<<setiosflags(ios::left)<<"HoursPerDay"<< setiosflags(ios::left) << "Tariff" << endl;
for (int c=0;c<i;c++)
{
cout<<setw(10)<<setiosflags(ios::left)<<(*(t+c)).sh
<<setw(10)<<setiosflags(ios::left)<<(*(t+c)).fio
<<setw(10)<<setiosflags(ios::left)<<(*(t+c)).days
<<setw(10)<<setiosflags(ios::left)<<(*(t+c)).dhours
<<setw(10)<<setiosflags(ios::left)<<(*(t+c)).tariff
<<endl;
}
}
Добавлено через 2 минуты 58 секунд
p.s: придерживайтесь одного стиля: или работайте через t[i] или через *(t+i)
и вообще я считаю что лучше наверное будет работать через динамический массив..
операция -> используется при указателях, а не при статических массивах...
 
Текущее время: 06:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru