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

Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2, нулевые элементы оставить без измен - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, сколько делителей у вводимого числа, и вывести сами делители http://www.cyberforum.ru/cpp-beginners/thread216814.html
определить сколько и каких делителей у вводимого числа
C++ Стандартная библиотека C++ и STL Вот нашел такие строки в книге Эккеля "Философия С++" Контейнеры и алгоритмы стандартной библиотеки С++ не редко путают с объектами библиотеки STL....//...между стандартной библиотекой С++ и библиотекой STL существует множество тонких различий. Таким образом, несмотря на популярность этого заблуждения, STL не является частью стандартной библиотеки С++. Путаница возникает довольно часто, потому... http://www.cyberforum.ru/cpp-beginners/thread216798.html
C++ Программа объединения двух целочисленных массивов
Очень жду помощи) составление и компиляция программ обработки строк и массивов с помощью пакета MASM32. 1. Написать программу объединения двух целочисленных массивов с использованием команды MOVSB. Необходимо учесть, что результирующий массив должен иметь размер, как минимум равный сумме размеров объединяемых массивов. 2. Удалить среднюю букву при нечетной длине строки и две средние буквы...
Как использовать таймер C++
Здравствуйте, господа. Можно ли каким-либо образом использовать таймер в программе вообще? Увидел описание таймера, однако не нашёл timer.h. Мне необходимо, чтобы программа в том случае, если пользователь ничего не делает опр. промежуток времени в течение getch (), выдавала сообщение. Заранее благодарю за возможные ответы.
C++ количество элементов в массиве встречающихся 2 раза http://www.cyberforum.ru/cpp-beginners/thread216786.html
дан одномерный массив состоящий из N элементов. Выяснить количество элементов в массиве А встречающихся более 2-х раз.
C++ одномерный массив. дан одномерный массив А состоящий из N числа элементов. Выяснить сколько элементов в массиве А встречающихся более 2-х раз?...помогите . подробнее

Показать сообщение отдельно
d3nver
135 / 119 / 9
Регистрация: 20.12.2010
Сообщений: 242
24.12.2010, 23:22     Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2, нулевые элементы оставить без измен

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
/*
* 2. Написать функцию перевода времени заданного в секундах или минутах в часы, минуты,секунды. 
* Предусмотреть выбор варианта: секунды или минуты.
*/
void main() {
    char sym;
    cout << "Chto vvodim? min(m) ili sec(s): ";
    cin >> sym;
    if ((sym!='m') && (sym!='M') && (sym!='s') && (sym!='S')) {
        cout << "Vveden nevernyi parametr " << sym << endl;
        getch();
        return;
    }
    unsigned int num, hours, minutes, seconds;
    cout << "Vvedi chislo: ";
    cin >> num;
    switch (sym) {
        case 'm': 
        case 'M': 
            hours = num / 60; 
            minutes = num % 60;
            seconds = 0;
            break;
        case 's':
        case 'S':
            hours = num / 3600;
            minutes = (num / 60) % 60;
            seconds = num % 60 ;
            break;
    }
    cout << endl;
    cout << "Bylo vvedeno " << num;
    if ((sym=='m') || (sym=='M'))
        cout << " minutes" << endl;
    else 
        cout << " seconds" << endl;
    cout << "Eto sostavliaet " << hours << " chas(a,ov) " << minutes << " minutes ";
    if ((sym=='s') || (sym=='S'))
        cout << seconds << " seconds";
    cout << endl;
    cout << endl;
    getch();
}
Chto vvodim? min(m) ili sec(s): m
Vvedi chislo: 100

Bylo vvedeno 100 minutes
Eto sostavliaet 1 chas(a,ov) 40 minutes

Chto vvodim? min(m) ili sec(s): s
Vvedi chislo: 10000

Bylo vvedeno 10000 seconds
Eto sostavliaet 2 chas(a,ov) 46 minutes 40 seconds
Добавлено через 17 минут

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
 
using namespace std;
/*
* 3. Описать функции формирования элементов одномерного массива с помощью 
* генератора случайных чисел и нахождения пары соседних элементов, 
* наиболее близко расположенных друг к другу. Мера близости: R=|A[i+1]-A[i]|.
*/
void main() {
    const int num = 10;
    int mas[num];
    int i;
    srand((unsigned)time( NULL)); // инициализация ГПСЧ
    for (i=0; i<num; i++)
            mas[i] = rand()%50; // заполнение от 0 до 50
    // вывод массива
    cout << "Massiv: " << endl;
    for (i=0; i<num; i++)
        cout << mas[i] << " ";
    cout << endl;
 
    // поиск минимальной разницы
    int min = abs(mas[0]-mas[1]);
    int iMin = 0;
    for (i=1; i<num-1; i++) {
        if (abs(mas[i]-mas[i+1]) < min) {
            min = abs(mas[i]-mas[i+1]);
            iMin = i;
        }
    }
 
    cout << "minimalnaya raznica sostavliaet " << min << " mejdu elementami " << mas[iMin] << " i " << mas[iMin+1];
    cout << endl;
    cout << endl;
    getch();
}
Massiv:
28 11 32 20 10 46 21 24 43 12
minimalnaya raznica sostavliaet 3 mejdu elementami 21 i 24
Добавлено через 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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
# 
using namespace std;
/*
* 4. Дана строка слов. Определить буквы, которые встречаются наибольшее и наименьшее количество раз.
*/
 
// Работает только для английских букв. Для русских будет немного по другому.
// наименьшее кол-во раз - это как минимум одна буква
 
void main() {
    char stroka[1024] = {";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bla bla bla tra ta ta ur ha ha uuuu"};
 
    // подсчет кол-ва символов и запись в массив
    unsigned int mas['z'-'A'+1] = {0};
    int i = 0;
    while (stroka[i]) {
        if (((stroka[i]>='A') && (stroka[i]<='Z')) || ((stroka[i]>='a') && (stroka[i]<='z'))) 
            // подсчитываем только буквенные символы
            mas[(unsigned char)stroka[i] - (unsigned char)'A']++;
        i++;
    }
    // поиск максимума и минимума символов
    int max = mas[0];
    int min = mas[0];
    for (i=1; i<((unsigned char)('z'-'A'+1)); i++) {
        if (!mas[i]) continue; // отбрасываем те символы, кол-во которых равно нулю
        min = (!min)?mas[i]:min; // если минимум все еще равен нулю, записываем туда первое ненулевое кол-во.
        // при последующем проходе - минимум остается минимумом
        max = (mas[i]>max)?mas[i]:max;
        min = (mas[i]<min)?mas[i]:min; // тогда здесь никогда не будет сравнение с нулем и запишется именно минимум
    }
    // вывод максимума кол-ва букв
    cout << "V stroke '" << stroka << "' \n\nbolshe vsego bukv:\n";
    char sym[2] = {0};
    for (i=0; i<((unsigned char)('z'-'A'+1)); i++) {
        if (mas[i]==max) {
            sym[0] = (unsigned char)i + (unsigned char)'A';
            cout << "Bukva '" << sym << "' vstrechaetsa " << max << " raz(a)\n";
        }
    }
    cout << endl << endl;
    // вывод минимума кол-ва букв
    cout << "V stroke '" << stroka << "' \n\menshe vsego bukv:\n";
    for (i=0; i<((unsigned char)('z'-'A'+1)); i++) {
        if (mas[i]==min) {
            sym[0] = (unsigned char)i + (unsigned char)'A';
            cout << "Bukva '" << sym << "' vstrechaetsa " << min << " raz(a)\n";
        }
    }
    getch();
}
V stroke ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bla bla bla tra ta ta ur ha ha uuuu'

bolshe vsego bukv:
Bukva 'a' vstrechaetsa 8 raz(a)


V stroke ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bla bla bla tra ta ta ur ha ha uuuu'
menshe vsego bukv:
Bukva 'h' vstrechaetsa 2 raz(a)
Bukva 'r' vstrechaetsa 2 raz(a)
На сегодня пока все.

Добавлено через 6 минут
и уточни по 5й и 6й задаче. Нужны классы или структуры?
 
Текущее время: 12:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru