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

Лабораторная работа. Массивы (задачки к экзамену) - C++

Восстановить пароль Регистрация
 
SimbadDOS
 Аватар для SimbadDOS
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 33
06.06.2012, 18:50     Лабораторная работа. Массивы (задачки к экзамену) #1
Здравствуйте товарищи форумчани!
Помогите пожалуйста с кодами задачек на экзамен!

Задачи:
1) Вычислить сумму и число положительных элементов матрицы A[N, N], находящихся над главной диагональю.

2) Дан двумерный массив. Выяснить, есть ли столбцы с одинаковой суммой элементов. Если есть, вывести их номера.

Заранее, большое вам спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 18:50     Лабораторная работа. Массивы (задачки к экзамену)
Посмотрите здесь:

Лабораторная работа C++
C++ Лабораторная работа
Лабораторная работа\Двумерные массивы C++
Написать функцию, которая в массиве char ищет цифры и заменяет их символом "#" C++
Помогите решить задачки на массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
06.06.2012, 19:06     Лабораторная работа. Массивы (задачки к экзамену) #2
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
#include <iostream>
#include <ctime>
#include <iomanip>
 
#define SIZE 5
 
int main()
{
    int matrix[SIZE][SIZE];
    std::srand(std::time(NULL));
    for(int i = 0; i < SIZE; i++)
    {
        for(int j = 0; j < SIZE; j++)
            std::cout << std::setw(5) << (matrix[i][j] = rand() % 21 - 10);
        std::cout << std::endl;
    }
    int sum = 0, posCount = 0;
    for(int i = 0; i < SIZE; i++)
        for(int j = i + 1; j < SIZE; sum += matrix[i][j], j++)
            if (matrix[i][j] > 0)
                posCount++;
    std::cout << "Sum: " << sum << std::endl
        << "Positive numbers count: " << posCount << std::endl;
    system("pause");
    return 0;
}
SimbadDOS
 Аватар для SimbadDOS
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 33
06.06.2012, 19:50  [ТС]     Лабораторная работа. Массивы (задачки к экзамену) #3
Спасибо большое!

Добавлено через 16 секунд
Осталась ещё одна.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
06.06.2012, 20:24     Лабораторная работа. Массивы (задачки к экзамену) #4
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
25
26
27
28
29
30
31
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
 
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> uid(1, 10);
    const std::size_t M = 5, N = 10;
    int A[M][N], sum[N] = {0};
    std::for_each(A, A + M, [&uid, &gen](int* const pvalue)
    {
        std::generate(pvalue, pvalue + N, [&uid, &gen] {return uid(gen); } );
        std::copy(pvalue, pvalue + N, std::ostream_iterator<int> (std::cout, " ") );
        std::cout<< std::endl; 
    } );
    for (std::size_t i=0; i < N; i++)
        for (std::size_t j=0; j < M; j++)
            sum[i] += A[i][j];
    bool b = false;        
    for (std::size_t i=0; i < N; i++)       
      if(std::count(sum, sum + N, sum[i]) > 1)
      {
          std::cout<< i<< " ";
          b = true;
      }
    if(!b) std::cout<< "No repeat";
    return 0;
}
Yandex
Объявления
06.06.2012, 20:24     Лабораторная работа. Массивы (задачки к экзамену)
Ответ Создать тему
Опции темы

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