Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13

Необходимо взять сумму из числового массива первых 5ти и последних 5ти чисел итой ячейки массива

25.01.2020, 12:23. Показов 1561. Ответов 11

Студворк — интернет-сервис помощи студентам
Ошибка тут , но как исправить не пойму
C++
1
2
3
4
5
6
7
8
9
 for (int j = 0; j < 4; j++)
            {
                sum1_5 += stoi(phone[i][j]);
            }
            
            for (int j = 6; j < 10; j++)
            {
                sum7_11 += stoi(phone[i][j]);
            }
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
// 6zad.cpp : 
 
/*
 Написать программу, которая создаст файл phone.txt с информацией с данными : 
фамилия и номер телефона нескольких ваших товарищей.Рекомендуемый вид экрана во 
время работы программы приведен ниже.Вывести все данные товарищей, у которых в 
телефонный номер «счастливый» т.е.сумма цифр левой и правой частей равен(без 
учета симметричной позиции).Сохранить эти данные в другой файл и отсортировать их по фамилии.
*/
 
#include <windows.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string agress = "C:\\Users\\User\\Desktop\\phone.txt";
 
    ofstream fs;
    fs.open(agress);        // ofstream по умолчанию создаёт файл по нкжному адресу
 
    if (!fs.is_open())
    {
        cout << "ERROR";
    }
    else
    {
        int nomer;
        string fam;
        cout << "Колличество человек :";
        cin >> nomer;
 
        string* gurnal =  new string[nomer];    //фамилии
        int* phone = new int[nomer];            //номера
 
        int nom=0;
        for (int i = 0; i < nomer; i++)
        {
            cout << "Фамиля : ";
            cin >> fam;
            gurnal[i] = fam;
 
            cout << "Номер : ";
            cin >> nom;
            phone[i] = nom;
 
        }
 
 
      
 
        int sum1_5 = 0;
        int sum7_11 = 0;
 
        for (int i = 0; i < nomer; i++)
        {
            sum1_5 = 0;
            sum7_11 = 0;
            
           for (int j = 0; j < 4; j++)
            {
                sum1_5 += stoi(phone[i][j]);
            }
            
            for (int j = 6; j < 10; j++)
            {
                sum7_11 += stoi(phone[i][j]);
            }
            
            if (sum1_5 == sum7_11)
                cout << gurnal[i] << " - " << phone[i] << " счастливый номер! /n";
 
        }
        
        string t;
        int ff;
 
        cin >> t;
        fs << t << "\n";
 
    }
    fs.close();
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2020, 12:23
Ответы с готовыми решениями:

Генерация 5ти случайных неодинаковых чисел
Подскажите, как сделать чтобы в диапазоне от 1 до 36 было выбрано 5 случайных чисел, только так чтобы они не повторилиь #include...

К произведению первых 5 чисел прибавить сумму 10 последних элементов массива
Дан массив и 12 целых чисел. К произведению первых 5 чисел прибавить сумму 10 последних элементов массива.

проверка на парнось 5ти чисел
На форме вводится пять чисел. Если большинство из них парные, то вывести на форму зеленый квадрат, в противном случае - красный.

11
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 12:38
Насколько я понимаю ты не правильно считаешь сумму цифр половин номера. Ты не все цифры суммируешь:
C++
1
2
3
4
5
6
7
8
9
for (int j = 0; j <= 4; j++)
{
sum1_5 += stoi(phone[i][j]);
}
 
for (int j = 5; j < 10; j++)
{
sum7_11 += stoi(phone[i][j]);
}
Вроде так должно быть. Это если номер указан без 7, то есть в виде 9418765412
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13
25.01.2020, 12:40  [ТС]
Привет. По условию задачи "без учета симметричной позиции".
Проблема в том, что она не компилируется.
0
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 12:46
Bars64, и тебе привет. Немного не понял смысла условия "без учета симметричной позиции". То есть имеется ввиду, что номер состоит из 11 цифр? И середину мы не учитываем? То есть 79418765412 и красную семерку мы не считаем?
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13
25.01.2020, 12:47  [ТС]
Всё верно
0
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 12:49
А, ну кстати, ты к phone обращаешься как к двумерному массиву, а у тебя он одномерный. Поэтому и не компилируется.
Здесь удобнее я думаю вместо int phone использовать строку.
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13
25.01.2020, 12:51  [ТС]
[i] - взял номер итого человека.
[j] - хочу взять житую цифру номера.
Как исправить тогда ?
0
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 13:22
Лучший ответ Сообщение было отмечено Bars64 как решение

Решение

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
// 6zad.cpp : 
 
/*
 Написать программу, которая создаст файл phone.txt с информацией с данными :
фамилия и номер телефона нескольких ваших товарищей.Рекомендуемый вид экрана во
время работы программы приведен ниже.Вывести все данные товарищей, у которых в
телефонный номер «счастливый» т.е.сумма цифр левой и правой частей равен(без
учета симметричной позиции).Сохранить эти данные в другой файл и отсортировать их по фамилии.
*/
 
#include <windows.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
struct gurnal
{
    string lastName;    // фамилия
    string phone;       // номер телефона
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string agress = "phone.txt";
 
    ofstream fs;
    fs.open(agress);        // ofstream по умолчанию создаёт файл по нкжному адресу
 
    if (!fs.is_open())
    {
        cout << "ERROR";
    }
    else
    {
        int nomer;
        cout << "Колличество человек :";
        cin >> nomer;
        gurnal *gur = new gurnal[nomer];    // массив записей
 
        int nom = 0;
        for (int i = 0; i < nomer; i++)
        {
            cout << "Фамилия : ";
            cin >> gur[i].lastName;
 
            cout << "Номер : ";
            cin >> gur[i].phone;
 
        }
 
        int sum1_5 = 0;
        int sum7_11 = 0;
 
        for (int i = 0; i < nomer; i++)
        {
            sum1_5 = 0;
            sum7_11 = 0;
 
            for (int j = 0; j < 5; j++)
            {
                sum1_5 += static_cast<int>(gur[i].phone[j]) - 48;
            }
 
            for (int j = 6; j <= 10; j++)
            {
                sum7_11 += static_cast<int>(gur[i].phone[j]) - 48;
            }
 
            if (sum1_5 == sum7_11)
                cout << gur[i].phone << " - " << " счастливый номер! /n";
 
        }
 
        string t;
        int ff;
 
        cin >> t;
        fs << t << "\n";
 
    }
    fs.close();
    return 0;
}
Вот. Здесь структура, состоящая из фамилии и номера. И в программе мы создаем массив этой структуры. Здесь без вывода каких-либо данных в файл. Здесь просто определяем счастливый ли номер!
А, и еще я поменял путь до выходного файла. Мне просто так удобнее.
1
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13
25.01.2020, 13:38  [ТС]
Большое спасибо!
С классами теперь буду учиться работать похоже. Но принцип, что мы взяли в ISCII я понял :-)
0
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 13:41
Bars64, пожалуйста. И кстати, совсем забыл. Надо еще освободить память)
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 13
25.01.2020, 13:50  [ТС]
А можно ещё попросить написать, как правильно теперь отчистку памяти провести ?
delete[]gutnal; ?
0
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 91
25.01.2020, 13:53
Bars64, почти)
C++
1
delete[] gur;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2020, 13:53
Помогаю со студенческими работами здесь

Как найти из 5ти чисел самое большое?
Здравствуйте На паскале. Как найти из 5ти чисел самое большое? Заранее спасибо.

Вывести сумму двух первых чисел одномерного массива, равную сумме двух последних чисел
Дан массив (одномерный) четырёхзначных чисел, вывести сумму двух первых чисел, равных сумме двум последним числам.

Из 5ти чисел найти кол-во четных и нечетных чисел и найти соответственно их суммы
напишите пожа, программку..... Из 5ти чисел найти кол-во четных и нечетных чисел и найти соответственно их суммы

Найти сумму четырех первых и двух последних элементов массива
Пусть имеется массив $arr, состоящий из N чисел. Найти сумму четырех первых и двух последних элементов массива.

Найти сумму первых 10 элементов массива и произведение последних 10 элемент
В заданном массиве Н из 30 элементов найти сумму первых 10 элемен-тов, произведение последних 10 элементов и среднее арифметическое...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru