С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Показать сообщение отдельно
d3nver
137 / 121 / 10
Регистрация: 20.12.2010
Сообщений: 242
26.12.2010, 14:47

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
# 
using namespace std;
/*
* 5. Для каждого из N студентов группы известно ФИО и оценки(в баллах) по пяти дисциплинам. 
* Вывести на экран фамилию и имя тех из них, у которых количество положительных оценок больше, 
* чем отрицательных(положительная оценка-3 и больше).
*/
 
void main() {
    // структура хранения информациии о студентах
    const int N = 5;
    typedef struct {
        char familia[80];
        char imia[80];
        char otchestvo[80];
        unsigned int ocenka_disc1;
        unsigned int ocenka_disc2;
        unsigned int ocenka_disc3;
        unsigned int ocenka_disc4;
        unsigned int ocenka_disc5;
    } baza;
    baza group[N];
 
    int i;
    // ввод инфы о студентах
    for (i=0; i<N; i++) {
        cout << "Vvod dannyh o studentah, # " << i+1 << " iz " << N << endl;
        cout << "Familia " << i+1 << "go studenta: ";
        cin >> group[i].familia;
        cout << "Imia " << i+1 << "go studenta: ";
        cin >> group[i].imia;
        cout << "Otchestvo " << i+1 << "go studenta: ";
        cin >> group[i].otchestvo;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #1: ";
        cin >> group[i].ocenka_disc1;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #2: ";
        cin >> group[i].ocenka_disc2;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #3: ";
        cin >> group[i].ocenka_disc3;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #4: ";
        cin >> group[i].ocenka_disc4;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #5: ";
        cin >> group[i].ocenka_disc5;
    }
    cout << endl << endl;
    // vyvod infy
    cout << "Sleduushie studenty imeut bolshe polojitel. ocenok chem otricatel.:" << endl;
    int p = 0;
    for (i=0; i<N; i++, p=0) {
        p += (group[i].ocenka_disc1>=3)?1:0;
        p += (group[i].ocenka_disc2>=3)?1:0;
        p += (group[i].ocenka_disc3>=3)?1:0;
        p += (group[i].ocenka_disc4>=3)?1:0;
        p += (group[i].ocenka_disc5>=3)?1:0;
        if (p<=2) continue; // отрицательных оценок больше.
        cout << group[i].familia << " "<< group[i].imia << endl;
    }
    getch();
}
консоль:
Vvod dannyh o studentah, # 1 iz 5
Familia 1go studenta: f1
Imia 1go studenta: i1
Otchestvo 1go studenta: o1
Ocenka (1-5) 1go studenta po discipliny #1: 1
Ocenka (1-5) 1go studenta po discipliny #2: 2
Ocenka (1-5) 1go studenta po discipliny #3: 3
Ocenka (1-5) 1go studenta po discipliny #4: 4
Ocenka (1-5) 1go studenta po discipliny #5: 5
Vvod dannyh o studentah, # 2 iz 5
Familia 2go studenta: f2
Imia 2go studenta: i2
Otchestvo 2go studenta: o2
Ocenka (1-5) 2go studenta po discipliny #1: 1
Ocenka (1-5) 2go studenta po discipliny #2: 2
Ocenka (1-5) 2go studenta po discipliny #3: 3
Ocenka (1-5) 2go studenta po discipliny #4: 2
Ocenka (1-5) 2go studenta po discipliny #5: 1
Vvod dannyh o studentah, # 3 iz 5
Familia 3go studenta: f3
Imia 3go studenta: i3
Otchestvo 3go studenta: o3
Ocenka (1-5) 3go studenta po discipliny #1: 2
Ocenka (1-5) 3go studenta po discipliny #2: 3
Ocenka (1-5) 3go studenta po discipliny #3: 4
Ocenka (1-5) 3go studenta po discipliny #4: 4
Ocenka (1-5) 3go studenta po discipliny #5: 2
Vvod dannyh o studentah, # 4 iz 5
Familia 4go studenta: f4
Imia 4go studenta: i4
Otchestvo 4go studenta: o4
Ocenka (1-5) 4go studenta po discipliny #1: 3
Ocenka (1-5) 4go studenta po discipliny #2: 4
Ocenka (1-5) 4go studenta po discipliny #3: 5
Ocenka (1-5) 4go studenta po discipliny #4: 3
Ocenka (1-5) 4go studenta po discipliny #5: 4
Vvod dannyh o studentah, # 5 iz 5
Familia 5go studenta: f5
Imia 5go studenta: i5
Otchestvo 5go studenta: o5
Ocenka (1-5) 5go studenta po discipliny #1: 2
Ocenka (1-5) 5go studenta po discipliny #2: 3
Ocenka (1-5) 5go studenta po discipliny #3: 2
Ocenka (1-5) 5go studenta po discipliny #4: 1
Ocenka (1-5) 5go studenta po discipliny #5: 2


Sleduushie studenty imeut bolshe polojitel. ocenok chem otricatel.:
f1 i1
f3 i3
f4 i4
Добавлено через 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
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
# 
using namespace std;
/*
* 6. Для каждого из N студентов группы известно ФИО и оценки по пяти дисциплинам. 
* Сформировать список, в который попадут те студенты, 
* у которых количество положительных оценок больше чем отрицательных.
*/
 
void main() {
    // структура хранения информациии о студентах
    const int N = 5;
    typedef struct {
        char familia[80];
        char imia[80];
        char otchestvo[80];
        unsigned int ocenka_disc1;
        unsigned int ocenka_disc2;
        unsigned int ocenka_disc3;
        unsigned int ocenka_disc4;
        unsigned int ocenka_disc5;
    } baza;
    baza group[N] = {0};
    baza spisok[N] = {0};
 
    int i;
    // ввод инфы о студентах
    for (i=0; i<N; i++) {
        cout << "Vvod dannyh o studentah, # " << i+1 << " iz " << N << endl;
        cout << "Familia " << i+1 << "go studenta: ";
        cin >> group[i].familia;
        cout << "Imia " << i+1 << "go studenta: ";
        cin >> group[i].imia;
        cout << "Otchestvo " << i+1 << "go studenta: ";
        cin >> group[i].otchestvo;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #1: ";
        cin >> group[i].ocenka_disc1;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #2: ";
        cin >> group[i].ocenka_disc2;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #3: ";
        cin >> group[i].ocenka_disc3;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #4: ";
        cin >> group[i].ocenka_disc4;
        cout << "Ocenka (1-5) " << i+1 << "go studenta po discipliny #5: ";
        cin >> group[i].ocenka_disc5;
    }
    cout << endl << endl;
    // формирование списка
    int p = 0, j;
    for (i=0, j= 0; i<N; i++, p=0) {
        p += (group[i].ocenka_disc1>=3)?1:0;
        p += (group[i].ocenka_disc2>=3)?1:0;
        p += (group[i].ocenka_disc3>=3)?1:0;
        p += (group[i].ocenka_disc4>=3)?1:0;
        p += (group[i].ocenka_disc5>=3)?1:0;
        if (p<=2) continue; // отрицательных оценок больше.
        spisok[j++] = group[i];
    }
    // вывод списка
    cout << "Spisok otlichnikov:" << endl;
    for (i=0; i<N; i++) {
        if (!spisok[i].familia[0]) break; // достигнут конец списка отличников
        cout << spisok[i].familia << " "<< spisok[i].imia << " " << spisok[i].otchestvo << endl;
    }
    getch();
}
консоль:
Vvod dannyh o studentah, # 1 iz 5
Familia 1go studenta: f1
Imia 1go studenta: i1
Otchestvo 1go studenta: o1
Ocenka (1-5) 1go studenta po discipliny #1: 1
Ocenka (1-5) 1go studenta po discipliny #2: 2
Ocenka (1-5) 1go studenta po discipliny #3: 3
Ocenka (1-5) 1go studenta po discipliny #4: 4
Ocenka (1-5) 1go studenta po discipliny #5: 5
Vvod dannyh o studentah, # 2 iz 5
Familia 2go studenta: f2
Imia 2go studenta: i2
Otchestvo 2go studenta: o2
Ocenka (1-5) 2go studenta po discipliny #1: 1
Ocenka (1-5) 2go studenta po discipliny #2: 2
Ocenka (1-5) 2go studenta po discipliny #3: 3
Ocenka (1-5) 2go studenta po discipliny #4: 2
Ocenka (1-5) 2go studenta po discipliny #5: 2
Vvod dannyh o studentah, # 3 iz 5
Familia 3go studenta: f3
Imia 3go studenta: i3
Otchestvo 3go studenta: o3
Ocenka (1-5) 3go studenta po discipliny #1: 2
Ocenka (1-5) 3go studenta po discipliny #2: 3
Ocenka (1-5) 3go studenta po discipliny #3: 4
Ocenka (1-5) 3go studenta po discipliny #4: 5
Ocenka (1-5) 3go studenta po discipliny #5: 2
Vvod dannyh o studentah, # 4 iz 5
Familia 4go studenta: f4
Imia 4go studenta: i4
Otchestvo 4go studenta: o4
Ocenka (1-5) 4go studenta po discipliny #1: 2
Ocenka (1-5) 4go studenta po discipliny #2: 3
Ocenka (1-5) 4go studenta po discipliny #3: 2
Ocenka (1-5) 4go studenta po discipliny #4: 3
Ocenka (1-5) 4go studenta po discipliny #5: 1
Vvod dannyh o studentah, # 5 iz 5
Familia 5go studenta: f5
Imia 5go studenta: i5
Otchestvo 5go studenta: o5
Ocenka (1-5) 5go studenta po discipliny #1: 2
Ocenka (1-5) 5go studenta po discipliny #2: 3
Ocenka (1-5) 5go studenta po discipliny #3: 4
Ocenka (1-5) 5go studenta po discipliny #4: 5
Ocenka (1-5) 5go studenta po discipliny #5: 1


Spisok otlichnikov:
f1 i1 o1
f3 i3 o3
f5 i5 o5
Добавлено через 33 минуты

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
 
using namespace std;
/*
* 7. В каждой строке заполненной случайным образом матрицы размером m на n 
* поменять местами последний элемент и минимальный по модулю.
*/
void main() {
    const int m = 5;
    const int n = 6;
    int matr[m][n];
    int i, j;
    srand((unsigned)time( NULL));
    for (i=0; i<m; i++)
        for (j=0; j<n; j++)
            matr[i][j] = rand()%50-25; // заполнение от -25 до +25
    // вывод матрицы
    cout << "Matrica: " << endl;
    for (i=0; i<m; i++) {
        for (j=0; j<n; j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    int min;
    int iMin;
    int temp;
    // поиск первого минимального элемента и замена на последний
    for (i=0; i<m; i++) {
        iMin = 0;
        min = abs(matr[i][iMin]);
        for (j=1; j<n; j++)
            if (abs(matr[i][j])<min) {
                min = abs(matr[i][j]);
                iMin = j;
            }
        temp = matr[i][iMin];
        matr[i][iMin] = matr[i][n-1];
        matr[i][n-1] = temp;
    }
 
    // вывод изменной матрицы
    cout << "Izmenennaya Matrica: " << endl;
    for (i=0; i<m; i++) {
        for (j=0; j<n; j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    cout << endl;
    getch();
}
консоль:
Matrica:
-6 20 -9 -25 10 -15
2 9 22 -17 8 -12
22 5 -7 -12 -13 7
0 -13 13 -1 -1 1
-7 -16 12 -22 -6 -1

Izmenennaya Matrica:
-15 20 -9 -25 10 -6
-12 9 22 -17 8 2
22 7 -7 -12 -13 5
1 -13 13 -1 -1 0
-7 -16 12 -22 -6 -1
Добавлено через 26 минут

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 <fstream>
#include <conio.h>
 
using namespace std;
/*
* 8. Дан текстовый файл. Написать функцию replace(c1,c2), 
* заменяющую в тексте все символы c1 на символы c2.
*/
unsigned int replace (char* file, char c1, char c2) {
    unsigned int i=0;
    while (file[i]) {
        if (file[i]==c1) file[i] = c2;
        i++;
    }
    return i; // возвращает размер файла
}
void main() {
    unsigned int razmer = 1024; // максимальный размер файла
 
    ifstream file_in;
    ofstream file_out;
    file_in.open ("input.txt");
    file_out.open ("output.txt");
    char file[1024] = {0};
    char c1, c2;
    file_in.read(file, razmer);
    cout << "Vvedi symvoly dlia zameny:" << endl;
    cout << "c1: ";
    cin >> c1;
    cout << "c2: ";
    cin >> c2;
    unsigned int r = replace(file, c1, c2);
    file_out.write(file, r);
    file_in.close();
    file_out.close();
    cout << "Zamena vupolnena\n";
    cout << "Press any key...\n";
    getch();
}
консоль:
Vvedi symvoly dlia zameny:
c1: f
c2: a
Zamena vypolnena
Press any key...
файл input.txt:
fdjklj dfjiodu9 gof945jui jifjdsiojg jiogjoj ojkgjfi
файл output.txt:
adjklj dajiodu9 goa945jui jiajdsiojg jiogjoj ojkgjai
Добавлено через 12 минут
про 9ю чутка не понял.
Это что, в файле будет информация о погоде на все 365 дней в году?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.