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

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

Восстановить пароль Регистрация
 
Lina_ya
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 4
29.04.2013, 22:53     с++: массивы, указатели и функции #1
Приветствую вас программисты, на вас одна надежда..
Не могу разобраться, как изменить..
делаю в 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;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 22:53     с++: массивы, указатели и функции
Посмотрите здесь:

указатели.функции.массивы. C++
C++ C++. Массивы и указатели/ Функции.
массивы и указатели C++
C++ указатели и массивы
Массивы и указатели C++
Указатели и массивы. Внедрение функции в прогу. C++. Пожалуйста, помогите. C++
C++ Указатели и массивы.
Написать код используя массивы, указатели, виртуальные функции, наследование, классы и т.д C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lina_ya
0 / 0 / 0
Регистрация: 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;}
Yandex
Объявления
01.05.2013, 22:28     с++: массивы, указатели и функции
Ответ Создать тему
Опции темы

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