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

Найти сумму и произведение элементов k-го столбца матрицы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Rustam
 Аватар для Rustam
12 / 12 / 3
Регистрация: 05.09.2009
Сообщений: 438
02.11.2009, 09:01     Найти сумму и произведение элементов k-го столбца матрицы #1
Написал программу по заданию, хочу узнать правильно ли она? У меня пока компилятор не работает, чтобы проверить прогу. Вот задание. Дано число k (0<k<11) и матрица размера 4 х10. Найти сумму и произведение элементов k-го столбца данной матрицы

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
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int k[40], k1;
    std::cout << "Ââåäèòå k: ";
    std::cin >> k1;
    if (k1 > 0 && k1 < 11)
    {
             std::cout << "" << "\n";
             std::cin >> k[1] >> k[2] >> k[3] >> k[4] >> k[5] >> k[6] >> k[7] >> k[8] >> k[9] >> k[10];
             std::cout << "" << "\n";
             std::cin >> k[11] >> k[12] >> k[13] >> k[14] >> k[15] >> k[16] >> k[17] >> k[18] >> k[19] >> k[20];
             std::cout << "" << "\n";
             std::cin >> k[21] >> k[22] >> k[23] >> k[24] >> k[25] >> k[26] >> k[27] >> k[28] >> k[29] >> k[30];
             std::cout << "" << "\n";
             std::cin >> k[31] >> k[32] >> k[33] >> k[34] >> k[35] >> k[36] >> k[37] >> k[38] >> k[39] >> k[40];
             }
           if (k1==1)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 1 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[1] + k[11] + k[21] + k[31] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 1 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[1] * k[11] * k[21] * k[31] << "\n";
                      
           else if (k1==2)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 2 îãî ñòîëáöГ* Г¬Г*òðèöû " << std::cout << k[2] + k[12] + k[22] + k[32] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 2 îãî ñòîëáöГ* Г¬Г*òðèöû " <<  k[2] * k[12] * k[22] * k[32] << "\n";
                                
           else if (k1==3)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 3 îãî ñòîëáöГ* Г¬Г*òðèöû " << std::cout << k[3] + k[13] + k[23] + k[33] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 3 îãî ñòîëáöГ* Г¬Г*òðèöû " << std::cout << k[3] * k[13] * k[23] * k[33] << "\n";
                                          
           else if (k1==4)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 4 îãî ñòîëáöГ* Г¬Г*òðèöû " <<  k[4] + k[14] + k[24] + k[34] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 4 îãî ñòîëáöГ* Г¬Г*òðèöû " <<  k[4] * k[14] * k[24] * k[34] << "\n";
                                                   
           else if (k1==5)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 5 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[5] + k[15] + k[25] + k[35] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 5 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[5] * k[15] * k[25] * k[35] << "\n";
                                                             
           else if (k1==6)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 6 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[6] + k[16] + k[26] + k[36] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 6 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[6] * k[16] * k[26] * k[36] << "\n";
                                                                       
           else if (k1==7)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 7 îãî ñòîëáöГ* Г¬Г*òðèöû " << std::cout << k[7] + k[17] + k[27] + k[37] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 7 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[7] * k[17] * k[27] * k[37] << "\n";
                                                                                  
           else if (k1==8)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 8 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[8] + k[18] + k[28] + k[38] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 8 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[8] * k[18] * k[28] * k[38] << "\n";
                                                                                            
           else if (k1==9)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 9 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[9] + k[19] + k[29] + k[39] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 9 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[9] * k[19] * k[29] * k[39] << "\n";
                                                                                           
           else if (k1==10)
           std::cout << "ÑóììГ* Г·ГЁГ±ГҐГ« 10 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[10] + k[20] + k[30] + k[40] << "\nÏðîèçâåäåГ*ГЁГҐ Г·ГЁГ±ГҐГ« 10 îãî ñòîëáöГ* Г¬Г*òðèöû " << k[10] * k[20] * k[30] * k[40] << "\n";
                                                                                                               
           system("PAUSE");
           return EXIT_SUCCESS;
           }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 09:01     Найти сумму и произведение элементов k-го столбца матрицы
Посмотрите здесь:

Найти сум-му и произведение элементов K-го столбца данной матрицы C++
C++ Для каждого столбца матрицы найти произведение его элементов
C++ Функции: найти произведение элементов каждого столбца матрицы
C++ Найти сумму и произведение элементов k-го столбца данной матрицы
Для каждого столбца матрицы найти произведение его элементов. C++
C++ Найти сумму и произведение элементов k-ого столбца матрицы
Найти сумму и произведение элементов К-го столбца C++
Найти произведение наименьших элементов каждого столбца матрицы и поменять местами 1-й и 3-й столбцы C++
Найти произведение положительных элементов первого столбца матрицы C++
Найти сумму нечетных элементов 3 столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы C++
C++ Найти сумму и произведение элементов k-го столбца данной матрицы
C++ С использованием указателей найти произведение наибольших элементов каждого столбца матрицы и их координаты

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
denver
 Аватар для denver
1608 / 277 / 3
Регистрация: 19.09.2009
Сообщений: 701
02.11.2009, 09:07     Найти сумму и произведение элементов k-го столбца матрицы #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int k[40], k1;
std::cout << "Aaaaeoa k: ";
std::cin >> k1;
if (k1 > 0 && k1 < 11)
{
std::cout << "" << "\n";
std::cin >> k[1] >> k[2] >> k[3] >> k[4] >> k[5] >> k[6] >> k[7] >> k[8] >> k[9] >> k[10];
std::cout << "" << "\n";
std::cin >> k[11] >> k[12] >> k[13] >> k[14] >> k[15] >> k[16] >> k[17] >> k[18] >> k[19] >> k[20];
std::cout << "" << "\n";
std::cin >> k[21] >> k[22] >> k[23] >> k[24] >> k[25] >> k[26] >> k[27] >> k[28] >> k[29] >> k[30];
std::cout << "" << "\n";
std::cin >> k[31] >> k[32] >> k[33] >> k[34] >> k[35] >> k[36] >> k[37] >> k[38] >> k[39] >> k[40];
}
if (k1==1)
std::cout << "Noiia ?enae 1 iai noieaoa iao?eou " << k[1] + k[11] + k[21] + k[31] << "\nI?iecaaaaiea ?enae 1 iai noieaoa iao?eou " << k[1] * k[11] * k[21] * k[31] << "\n";
 
else if (k1==2)
std::cout << "Noiia ?enae 2 iai noieaoa iao?eou " << std::cout << k[2] + k[12] + k[22] + k[32] << "\nI?iecaaaaiea ?enae 2 iai noieaoa iao?eou " << k[2] * k[12] * k[22] * k[32] << "\n";
 
else if (k1==3)
std::cout << "Noiia ?enae 3 iai noieaoa iao?eou " << std::cout << k[3] + k[13] + k[23] + k[33] << "\nI?iecaaaaiea ?enae 3 iai noieaoa iao?eou " << std::cout << k[3] * k[13] * k[23] * k[33] << "\n";
 
else if (k1==4)
std::cout << "Noiia ?enae 4 iai noieaoa iao?eou " << k[4] + k[14] + k[24] + k[34] << "\nI?iecaaaaiea ?enae 4 iai noieaoa iao?eou " << k[4] * k[14] * k[24] * k[34] << "\n";
 
else if (k1==5)
std::cout << "Noiia ?enae 5 iai noieaoa iao?eou " << k[5] + k[15] + k[25] + k[35] << "\nI?iecaaaaiea ?enae 5 iai noieaoa iao?eou " << k[5] * k[15] * k[25] * k[35] << "\n";
 
else if (k1==6)
std::cout << "Noiia ?enae 6 iai noieaoa iao?eou " << k[6] + k[16] + k[26] + k[36] << "\nI?iecaaaaiea ?enae 6 iai noieaoa iao?eou " << k[6] * k[16] * k[26] * k[36] << "\n";
 
else if (k1==7)
std::cout << "Noiia ?enae 7 iai noieaoa iao?eou " << std::cout << k[7] + k[17] + k[27] + k[37] << "\nI?iecaaaaiea ?enae 7 iai noieaoa iao?eou " << k[7] * k[17] * k[27] * k[37] << "\n";
 
else if (k1==8)
std::cout << "Noiia ?enae 8 iai noieaoa iao?eou " << k[8] + k[18] + k[28] + k[38] << "\nI?iecaaaaiea ?enae 8 iai noieaoa iao?eou " << k[8] * k[18] * k[28] * k[38] << "\n";
 
else if (k1==9)
std::cout << "Noiia ?enae 9 iai noieaoa iao?eou " << k[9] + k[19] + k[29] + k[39] << "\nI?iecaaaaiea ?enae 9 iai noieaoa iao?eou " << k[9] * k[19] * k[29] * k[39] << "\n";
 
else if (k1==10)
std::cout << "Noiia ?enae 10 iai noieaoa iao?eou " << k[10] + k[20] + k[30] + k[40] << "\nI?iecaaaaiea ?enae 10 iai noieaoa iao?eou " << k[10] * k[20] * k[30] * k[40] << "\n";
 
system("PAUSE");
return EXIT_SUCCESS;
}
Добавлено через 54 секунды
используй теги
Rustam
 Аватар для Rustam
12 / 12 / 3
Регистрация: 05.09.2009
Сообщений: 438
02.11.2009, 09:12  [ТС]     Найти сумму и произведение элементов k-го столбца матрицы #3
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
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int k[40], k1;
    std::cout << "Введите k: ";
    std::cin >> k1;
    if (k1 > 0 && k1 < 11)
    {
             std::cout << "" << "\n";
             std::cin >> k[1] >> k[2] >> k[3] >> k[4] >> k[5] >> k[6] >> k[7] >> k[8] >> k[9] >> k[10];
             std::cout << "" << "\n";
             std::cin >> k[11] >> k[12] >> k[13] >> k[14] >> k[15] >> k[16] >> k[17] >> k[18] >> k[19] >> k[20];
             std::cout << "" << "\n";
             std::cin >> k[21] >> k[22] >> k[23] >> k[24] >> k[25] >> k[26] >> k[27] >> k[28] >> k[29] >> k[30];
             std::cout << "" << "\n";
             std::cin >> k[31] >> k[32] >> k[33] >> k[34] >> k[35] >> k[36] >> k[37] >> k[38] >> k[39] >> k[40];
             }
           if (k1==1)
           std::cout << "Сумма чисел 1 ого столбца матрицы " << k[1] + k[11] + k[21] + k[31] << "\nПроизведение чисел 1 ого столбца матрицы " << k[1] * k[11] * k[21] * k[31] << "\n";
                      
           else if (k1==2)
           std::cout << "Сумма чисел 2 ого столбца матрицы " << std::cout << k[2] + k[12] + k[22] + k[32] << "\nПроизведение чисел 2 ого столбца матрицы " <<  k[2] * k[12] * k[22] * k[32] << "\n";
                                
           else if (k1==3)
           std::cout << "Сумма чисел 3 ого столбца матрицы " << std::cout << k[3] + k[13] + k[23] + k[33] << "\nПроизведение чисел 3 ого столбца матрицы " << std::cout << k[3] * k[13] * k[23] * k[33] << "\n";
                                          
           else if (k1==4)
           std::cout << "Сумма чисел 4 ого столбца матрицы " <<  k[4] + k[14] + k[24] + k[34] << "\nПроизведение чисел 4 ого столбца матрицы " <<  k[4] * k[14] * k[24] * k[34] << "\n";
                                                   
           else if (k1==5)
           std::cout << "Сумма чисел 5 ого столбца матрицы " << k[5] + k[15] + k[25] + k[35] << "\nПроизведение чисел 5 ого столбца матрицы " << k[5] * k[15] * k[25] * k[35] << "\n";
                                                             
           else if (k1==6)
           std::cout << "Сумма чисел 6 ого столбца матрицы " << k[6] + k[16] + k[26] + k[36] << "\nПроизведение чисел 6 ого столбца матрицы " << k[6] * k[16] * k[26] * k[36] << "\n";
                                                                       
           else if (k1==7)
           std::cout << "Сумма чисел 7 ого столбца матрицы " << std::cout << k[7] + k[17] + k[27] + k[37] << "\nПроизведение чисел 7 ого столбца матрицы " << k[7] * k[17] * k[27] * k[37] << "\n";
                                                                                  
           else if (k1==8)
           std::cout << "Сумма чисел 8 ого столбца матрицы " << k[8] + k[18] + k[28] + k[38] << "\nПроизведение чисел 8 ого столбца матрицы " << k[8] * k[18] * k[28] * k[38] << "\n";
                                                                                            
           else if (k1==9)
           std::cout << "Сумма чисел 9 ого столбца матрицы " << k[9] + k[19] + k[29] + k[39] << "\nПроизведение чисел 9 ого столбца матрицы " << k[9] * k[19] * k[29] * k[39] << "\n";
                                                                                           
           else if (k1==10)
           std::cout << "Сумма чисел 10 ого столбца матрицы " << k[10] + k[20] + k[30] + k[40] << "\nПроизведение чисел 10 ого столбца матрицы " << k[10] * k[20] * k[30] * k[40] << "\n";
                                                                                                               
           system("PAUSE");
           return EXIT_SUCCESS;
           }
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
02.11.2009, 09:31     Найти сумму и произведение элементов k-го столбца матрицы #4
За такую программу тебе зачет даже за деньги не поставят.
Омг. Это код рабов древнего Египта.
Вот как надо:

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
#include <stdio.h>
#include <iostream>
#include <windows.h> 
 
using namespace std; 
 
int main(void)
{
    int k;
    int summa = 0, proizvedenie = 1; //единица, потому, что если умножать на 0, то будет 0 и не получим никакого произведения.
    int a[4][10]; //наша матрица 
 
    printf("Enter k:\n");
    cin >> k;
    if(k > 0 && k < 11)
    {
        for(int i = 0; i < 4; i++)         //цыкл по всей матрице
            for(int n = 0; n < 10; n++)
            {
                printf("Please enter a[%i][%i]\n", i, n);
                cin >> a[i][n];             //заполняем матрицу
            }
    }
 
    for(int i = 0; i < 4; i++) //цыкл по всем строкам
    {
        summa += a[i][k];
        proizvedenie *= a[i][k];
    }
 
    printf("Result:\n summa: %i\nproizvedenie: %i\n", summa, proizvedenie);
 
    system("pause");
 
    return 0;
}
denver
 Аватар для denver
1608 / 277 / 3
Регистрация: 19.09.2009
Сообщений: 701
02.11.2009, 09:38     Найти сумму и произведение элементов k-го столбца матрицы #5
Цитата Сообщение от Rustam Посмотреть сообщение
std::cout << "Сумма чисел 3 ого столбца матрицы " << std::cout << k[3] + k[13] + k[23] + k[33] << "\nПроизведение чисел 3 ого столбца матрицы " << std::cout << k[3] * k[13] * k[23] * k[33] << "\n";
поубирай лишнии std::cout
запускается норм обрабатывает норм но вот при закрытии ошибка.
Run-Time Check Failure #2 - Stack around the variable 'k' was corrupted.
судя по сообщению, твоей программе снесло стек. как правило это означает выход за пределы массива (ошибочную арифметику указателей) в рамках стека.
Yandex
Объявления
02.11.2009, 09:38     Найти сумму и произведение элементов k-го столбца матрицы
Ответ Создать тему
Опции темы

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