Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2015, 23:41   #1
Ne_programistka
 
Регистрация: 24.12.2015
Сообщений: 9
По умолчанию И еще задачка даже не знаю как сделать, киньте идеи или помогите

Массив 10х10 до 100
и нужно чтобы он складывал числа по диагонали, т.е. 1, 12, 23 и т.д. числа.
У меня есть программа, где он просто складывает эти рандомные числа... Help!
Ne_programistka вне форума Ответить с цитированием
Старый 28.12.2015, 08:03   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Суммирует по диагонали
Код:
const n = 2;
double array[n][n] = {{1,2},{3,4}};
double res = 0;
for(int i = 0; i < n; i++) res += array[i][i];
cout << res << endl;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.12.2015, 11:58   #3
Ne_programistka
 
Регистрация: 24.12.2015
Сообщений: 9
По умолчанию

спасибо за код)

Суммирует по диагонали

у меня с этим кодом пишет error: ISO C++ forbids declaration of n with no type

Последний раз редактировалось Stilet; 28.12.2015 в 12:58.
Ne_programistka вне форума Ответить с цитированием
Старый 28.12.2015, 12:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
const int n = 2;
int пропустил Смитт.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2015, 13:14   #5
Ne_programistka
 
Регистрация: 24.12.2015
Сообщений: 9
По умолчанию

int n; ввожу, потом до скобки докапывается

Код:
#include <clocale>
#include <cstdlib>
#include <ctime>
#include <iostream>

/// заполнение матрицы случайными числами из диапазона [0, 99]
void FillRandomNumbers(int **matrix, const size_t rows, const size_t columns)
{
    srand(time(0)); // инициализируем ПГСЧ

    for (size_t row=0; row < rows; row++)
        for (size_t column=0; column < columns; column++)
            matrix[row][column] = rand() % 100; // присваиваем СЧ
}

/// вывод матрицы на экран
void Print(int **matrix, const size_t rows, const size_t columns)
{
    for (size_t row=0; row < rows; row++)
    {
        for (size_t column=0; column < columns; column++)
            std::cout << matrix[row][column] << " "; // выводим элемент
        std::cout << std::endl; // перевод строки
    }
}

/// пример обработки матрицы - подсчет суммы всех элементов
int n;
{
    const n = 2;
double array[n][n] = {{1,2},{3,4}};
double res = 0;
for(int i = 0; i < n; i++) res += array[i][i];
cout << res << endl;
return n;
}

int main()
{
    setlocale(LC_ALL, "rus");//ля чтения Русского языка

    size_t rows, columns; // строки и столбцы

    // вводим размерность матрицы
    std::cout << "Введите количество строк матрицы: ";
    std::cin >> rows;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> columns;

    // выделяем память под матрицу
    int **matrix = new int*[rows];
    for (size_t row=0; row < rows; row++)
        matrix[row] = new int[columns];

    // заполнение случайными числами
    FillRandomNumbers(matrix, rows, columns);

    // вывод на экран
    std::cout << "\nМатрица:\n";
    Print(matrix, rows, columns);

    // обработка матрицы
    std::cout << "\nСумма всех элементов матрицы равна " << Sum(matrix, rows, columns) << std::endl;

    // освобождаем память, выделенную под матрицу
    // освобождение идёт в обратном порядке от выделения
    for (size_t row=0; row < rows; row++)
        delete[] matrix[row];
    delete[] matrix;
}
вот программа, она выводит случайные числа и суммирует их по диагонали

по крайней мере должна, но не получается

Последний раз редактировалось Stilet; 28.12.2015 в 13:18.
Ne_programistka вне форума Ответить с цитированием
Старый 28.12.2015, 13:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Где код скоммуниздила?
На тебе еще один для комуниздинга, раз уж копипастэ любишь:
Код:
// п.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <clocale>
#include <cstdlib>
#include <ctime>
#include <iostream>

/// заполнение матрицы случайными числами из диапазона [0, 99]
void FillRandomNumbers(int **matrix, const size_t rows, const size_t columns)
{
    srand(time(0)); // инициализируем ПГСЧ

    for (size_t row=0; row < rows; row++)
        for (size_t column=0; column < columns; column++)
            matrix[row][column] = rand() % 100; // присваиваем СЧ
}

/// вывод матрицы на экран
void Print(int **matrix, const size_t rows, const size_t columns)
{
    for (size_t row=0; row < rows; row++)
    {
        for (size_t column=0; column < columns; column++)
            std::cout << matrix[row][column] << " "; // выводим элемент
        std::cout << std::endl; // перевод строки
    }
}

int Sum(int **a,int row,int col){
 int s=0;
 for(int i=0;i<row;i++) for(int j=0;j<col;j++) s+=a[i][j];
 return s;
}

int _tmain(int argc, _TCHAR* argv[])
{
	    setlocale(LC_ALL, "rus");//ля чтения Русского языка

    size_t rows, columns; // строки и столбцы

    // вводим размерность матрицы
    std::cout << "Введите количество строк матрицы: ";
    std::cin >> rows;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> columns;

    // выделяем память под матрицу
    int **matrix = new int*[rows];
    for (size_t row=0; row < rows; row++)
        matrix[row] = new int[columns];

    // заполнение случайными числами
    FillRandomNumbers(matrix, rows, columns);

    // вывод на экран
    std::cout << "\nМатрица:\n";
    Print(matrix, rows, columns);

    // обработка матрицы
    std::cout << "\nСумма всех элементов матрицы равна " << Sum(matrix, rows, columns) << std::endl;

    // освобождаем память, выделенную под матрицу
    // освобождение идёт в обратном порядке от выделения
    for (size_t row=0; row < rows; row++)
        delete[] matrix[row];
    delete[] matrix;
	
	system("pause");
	return 0;
}
Можешь не разбираться в нем, и так понятно что программирование это не твое.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2015, 13:28   #7
Ne_programistka
 
Регистрация: 24.12.2015
Сообщений: 9
По умолчанию

это не мое

мне надо это сдать

Последний раз редактировалось Stilet; 28.12.2015 в 15:54.
Ne_programistka вне форума Ответить с цитированием
Старый 28.12.2015, 14:41   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
const int n = 2;
int пропустил Смитт.
Да, без отладки писал. Не заметил.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.12.2015, 15:54   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
мне надо это сдать
Код я дал. Удачи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста написать программу с методом пузырька и массивами,я даже не знаю как ее сделать.. Bojikodab991 Помощь студентам 4 15.11.2013 09:36
киньте идеи..прога в С++ Лися Помощь студентам 1 25.10.2010 12:43
Как такое сделать (извените. но даже не знаю как это называется) Van'Denis HTML и CSS 3 30.08.2009 10:46