Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 21.12.2012
Сообщений: 4
1

с++: массивы, указатели и функции

29.04.2013, 22:53. Показов 612. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую вас программисты, на вас одна надежда..
Не могу разобраться, как изменить..
делаю в code::blocks

Первая и вторая часть задания выполнена в нижеприведенном коде, нужно произвести изменения во второй.
1часть:

1. В диалоговом режиме ввести в строковый массив с именем UIR-151 (или UIR-152) свои фамилию имя, отчество.
2. Вывести размерность полученного массива.
3. Вывести количество букв в фамилии (присвоить полученное значение переменной intF), имени (присвоить значение переменной intN), отчестве (присвоить значение переменной intP).
4. Ввести и вывести на экран два массива по intN целых чисел в каждом.
Результат должен выглядеть примерно так:
ВВЕДИТЕ ФИО: Иванов Иван Иванович
Размер массива UIR-151: 20 (или Размер массива UIR-152: 20 )
Фамилия: 6
Имя: 4
Отчество: 8
Размерность массивов задания студента ИВАНОВА – 4
Первый массив:
1й элемент: 267
2й элемент: 6
3й элемент: 34
4й элемент: 8
Второй массив:
1й элемент: 346
2й элемент: 61
3й элемент: 8
4й элемент: 23
Массив Иванов:
267 6 34 8
Массив Иван:
346 61 8 23



2я часть:
Подсчитать в массивах сумму элементов массива, расположенных до максимального элемента среди (-intP) и (-intF). Вывести эти значения и массив, имеющий наибольшую сумму.



Мне нужно изменить вторую часть на:

Подсчитать в массивах сумму отрицательных элементов массива, попадающих в диапазон [intP*(-1);intF*(-1)]. Вывести эти значения и массив, имеющий наибольшую сумму.




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
#include <iostream>
#include <string>
using namespace std;
 
int main(){
 
 
setlocale(0, "");
 
int intF, intN, intP, UIRLength;
string UIR152;
//Первое задание
cout << "vvedite FIO";
getline(cin, UIR152);
cout << "razmer massiva UIR-152: " << UIR152.length() << endl;
 
intF = UIR152.find_first_of(" ");
intN = UIR152.find_first_of(" ", intF+1) - (intF+1);
intP = UIR152.length()-(intN+1)-(intF+1);
 
cout << "Familia: " << intF << endl;
cout << "Imya: " << intN << endl;
cout << "Ot4estvo: " << intP << endl;
 
int* arr1 = new int[intN];
int* arr2 = new int[intN];
 
cout << "Pervyj massiv:" << endl;
for(int i=1; i<=intN; i++){
cout << i << "Element: " ;
cin >> arr1[i];
cout << endl;
}
 
cout << "Vtoroj massiv:" << endl;
for(int i=1; i<=intN; i++){
cout << i << " element: " ;
cin >> arr2[i];
cout << endl;
}
 
cout << "Vyvod massivov" << endl;
cout << "Vyvodim pervyj massiv:" << endl;
for(int i=1; i<=intN; i++){
cout << arr1[i] << " ";
}
cout << endl;
cout << "Vyvodim vtoroj massiv:" << endl;
for(int i=1; i<=intN; i++){
cout << arr2[i] << " ";
}
cout << endl;
 
//Второе задание
int value = (intP+intF)*(-1);
int sum1, sum2;
sum1 = 0;
sum2 = 0;
for(int j=intN; j>=1; j--){
if (arr1[j]==value) {
for(int i=1; i!=j; i++)
sum1 = sum1+arr1[i];
break;
}
else {
for(int i=1; i<=intN; i++)
sum1 = sum1+arr1[i];
break;
}
}
for(int j=intN; j>=1; j--){
if (arr2[j]==value) {
for(int i=1; i!=j; i++)
sum2 = sum2+arr2[i];
break;
}
else {
for(int i=1; i<=intN; i++)
sum2 = sum2+arr2[i];
break;
}
}
cout << "rezultaty summy:" << endl;
cout << "1j massiv: " << sum1 << endl;
cout << "2j massiv: " << sum2 << endl;
cout << "Vyvodim massiv s naibolshej summoj:" << endl;
if (sum1<sum2)
for(int i=1; i<=intN; i++)cout << arr2[i] << " ";
else for(int i=1; i<=intN; i++)cout << arr1[i] << " ";
cout << endl;
 
return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2013, 22:53
Ответы с готовыми решениями:

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц)
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник...

Указатели и массивы. Указатели и функции
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию...

Указатели на массивы. Указатели и функции
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно...

C++. Массивы и указатели/ Функции.
Помогите, пожалуйста, решить!!! Я знаю, что это просто. Но я только начинаю изучать C. И до меня...

1
0 / 0 / 1
Регистрация: 21.12.2012
Сообщений: 4
01.05.2013, 22:28  [ТС] 2
всёёё, всем спасибо за внимание)
сама разобралась (вообще несложно):

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
// Второе задание
 
int sum1, sum2;
sum1 = 0;
sum2 = 0;
for(int i = 0; i < intN; i++)
 {
if (arr1[i]>=-intP && arr1[i]<=-intF) sum1 += arr1[i];
}
for(int i = 0; i < intN; i++)
 {
if (arr2[i]>=-intP && arr2[i]<=-intF) sum2 += arr2[i];
}
cout << "Summy: " << endl;
cout << "1 massiv: " << sum1 << endl;
cout << "2 massiv: " << sum2 << endl;
cout << "Massiv s naibolshej summoj: " << endl;
if (sum1<sum2)
for(int i=1; i<=intN; i++)
cout << arr2[i] << " ";
else for(int i=1; i<=intN; i++)
cout << arr1[i] << " ";
cout << endl;
return 0;}
0
01.05.2013, 22:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2013, 22:28
Помогаю со студенческими работами здесь

указатели.функции.массивы.
помогите решить в с++ Array75. Дан массив размера N. Переставить в обратном порядке элементы...

Указатели: функции, двумерные массивы
мне нужно вернуть из функции getArray двумерный построенный массив в функцию main, для передачи...

Указатели и массивы. Внедрение функции в прогу. C++. Пожалуйста, помогите.
Условие задачи: /* Calculate the length of a string */ #include &lt;stdio.h&gt; #define...

Почему не обнуляются элементы массива? (функции, массивы, указатели)
Собственно сам код. его действия: В главной функции tmain выполняется функция innfunc, а функция...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru