СИ

Ответить
Crespo
Сообщения: 3
Зарегистрирован: 19 июн 2010, 06:41

ШПомогите решить вот что смог на СИ написать допишите пожалуйста

Дана действительная матрица размера n x m. Определить числа b1, ..., bm, равные соответственно:
a) суммам элементов строк;


#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define rnd (rand()/ 32768.0) /* rand - генератор случайных чисел от
0 до int, rnd – от 0 до 1 */
void main(void) {
int i,j,n,m,a[50][50];
puts(“\n Input n, m:”); scanf(“%d %d”, &n, &m);
printf(“\n Array a \n”);
for(i=0; i<n; i++) // Вывод в виде матрицы
for(j=0; j<m; j++) {
a[j] = rnd*10 - 5; // случайные числа от –5 до 5
printf(“%d%c“, a[j], (j == m-1)? ’\n’ : ’ ‘);
}
Аватара пользователя
TDUTY
Сообщения: 34
Зарегистрирован: 30 янв 2009, 10:20
Контактная информация:

Код: Выделить всё

 
//Дана действительная матрица размера n x m.
//Определить числа b1, ..., bm, равные соответственно:
//a) суммам элементов строк;

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>

int main(int argc, char* argv[])
{
    int N,M;
    cout << "\n Input N rows: "; //строк
    cin >> N;

    cout << " Input M columns: "; //столбцы
    cin >> M;

    //создаем двумерный динамический массив
    // добавим еще один столбец для b (m + 1)
    int **massiv = new int*[N];
    for(int i = 0; i < N; i++)
        massiv[i] = new int[M + 1];
    cout << " -> array ("<< N << "x" << M << ") is created\n";

    //заполняем матрицу
    randomize();
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
            massiv[i][j] = random(10) - 5; // случайные числа от –5 до 5
        };
    };
    cout << " -> array filled with random values\n";

    //подсчет b1, ..., bm
    for(int i = 0; i < N; i++)
    {
        massiv[i][M] = 0; //b
        for(int j = 0; j < M; j++)
        {
            massiv[i][M] = massiv[i][M] + massiv[i][j];
        };
    };
    cout << " -> counted sum of rows (B1...Bm)\n";


    // Вывод в виде матрицы
    cout << " -> result of work: \n";

    //выводим первую строчку таблицы
    cout << " COLUMS |";
    for(int i = 0; i < M; i++) cout << setw(3) << (i + 1) << " |";
    cout << setw(4) << "Bi" <<"  |\n";

    //выводим вторую строчку таблицы
    cout << "--------|";
    for(int i = 0; i < M; i++) cout << "----|";
    cout << setw(6) << "------|\n";

    //выводим третью строчку таблицы
    cout << "   ROWS |";
    for(int i = 0; i < M; i++) cout << setw(4) << " " << "|";
    cout << setw(6) << " " << "|\n";

    //выводим данные
    for(int i = 0; i < N; i++)
    {
        cout << "   " << setw(3) << (i + 1) << "  |";
        for(int j = 0; j < M; j++)
        {
            cout << setw(4) << massiv[i][j] << "|";
        };
        cout << setw(6) << massiv[i][M] << "|";        
        cout << "\n";
    };

    //выводим последнюю строчку таблицы
    cout << "--------|";
    for(int i = 0; i < M; i++) cout << "----|";
    cout << setw(6) << "------|\n\n";

    cout << "Press anykey...";
    
    getch();
    return 0;
}
выводит:

Код: Выделить всё

 Input N rows: 10
 Input M columns: 9
 -> array (10x9) is created
 -> array filled with random values
 -> counted sum of rows (B1...Bm)
 -> result of work: 
 COLUMS |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  Bi  |
--------|----|----|----|----|----|----|----|----|----|------|
   ROWS |    |    |    |    |    |    |    |    |    |      |
     1  |  -3|   2|  -2|   1|  -5|   2|   4|  -5|  -5|   -11|
     2  |  -4|  -1|   4|   4|   1|   4|  -5|   3|  -4|     2|
     3  |   2|  -4|  -1|   2|  -1|   1|  -2|   0|   3|     0|
     4  |  -5|   0|  -4|   1|  -4|  -4|   4|   4|  -3|   -11|
     5  |  -2|   3|   0|   1|  -2|  -2|   2|   1|  -5|    -4|
     6  |  -5|   3|   3|  -1|  -4|  -5|  -1|   3|  -2|    -9|
     7  |   3|   2|  -5|  -5|  -1|  -4|  -1|  -3|   0|   -14|
     8  |   4|   2|   0|   2|   4|   2|  -4|  -1|   0|     9|
     9  |   0|  -2|   4|   2|  -1|   4|   4|  -4|  -3|     4|
    10  |  -3|   1|   4|   2|  -2|  -5|   1|   0|   0|    -2|
--------|----|----|----|----|----|----|----|----|----|------|

Press anykey...
вот как то так...
Ответить