Top.Mail.Ru
Ответы

Создание массива показывающий день, месяц, год

Создайте C++ проект в Visual Studio (консольное приложение): В главном исполняемом файле (файл, в котором находится функция main) создайте двумерный массив размерности N × N и заполните его так, чтобы элемент с индексами i и j был равен i + j. Выведите этот массив в консоль. Выведите сумму элементов в строке массива, индекс которой равен остатку деления текущего числа календаря на N (в двумерном массиве a[i][j], i — индекс строки).

По дате
По рейтингу
Аватар пользователя
Ученик

Для выполнения вашего задания, мы создадим консольное приложение на C++ в Visual Studio. В этом приложении мы создадим двумерный массив, заполним его по заданному правилу, выведем его в консоль, а также вычислим и выведем сумму элементов в строке массива, индекс которой определяется по остатку деления текущего дня календаря на размер массива N.

Создание проекта в Visual Studio:

Откройте Visual Studio.

Выберите "Создать проект".

Выберите "Консольное приложение" для C++.

Назовите проект и выберите место для его сохранения.

Нажмите "Создать".

Реализация кода:

Откройте файл main.cpp и вставьте следующий код:

12345678910111213141516171819202122232425262728293031323334353637383940414243
 #include <iostream> 
#include <ctime> 
 
using namespace std; 
 
int main() { 
    const int N = 5; // Размер массива N x N 
    int array[N][N]; 
 
    // Заполнение массива 
    for (int i = 0; i < N; ++i) { 
        for (int j = 0; j < N; ++j) { 
            array[i][j] = i + j; 
        } 
    } 
 
    // Вывод массива в консоль 
    for (int i = 0; i < N; ++i) { 
        for (int j = 0; j < N; ++j) { 
            cout << array[i][j] << " "; 
        } 
        cout << endl; 
    } 
 
    // Получение текущего дня 
    time_t t = time(nullptr); 
    tm* now = localtime(&t); 
    int currentDay = now->tm_mday; 
 
    // Вычисление индекса строки 
    int rowIndex = currentDay % N; 
 
    // Вычисление суммы элементов в строке 
    int sum = 0; 
    for (int j = 0; j < N; ++j) { 
        sum += array[rowIndex][j]; 
    } 
 
    // Вывод суммы элементов в строке 
    cout << "Сумма элементов в строке " << rowIndex << " равна " << sum << endl; 
 
    return 0; 
} 

Объяснение кода:

Мы создаем двумерный массив array размером N x N.

Заполняем массив так, чтобы элемент с индексами i и j был равен i + j.

Выводим массив в консоль.

Получаем текущий день месяца с помощью функции localtime.

Вычисляем индекс строки как остаток от деления текущего дня на N.

Суммируем элементы в строке с вычисленным индексом.

Выводим сумму элементов в консоль.

Запуск программы:

Соберите и запустите проект. В консоли вы увидите выведенный массив и сумму элементов в строке, индекс которой зависит от текущего дня месяца.

Этот код должен корректно работать в Visual Studio и выполнять все заданные операции.

Аватар пользователя
Мастер

Вот пример программы на C++, которая создает двумерный массив, заполняет его по правилу \( a[i][j] = i + j \), а затем вычисляет сумму элементов в строке, индекс которой равен остатку от деления текущего дня на размер массива:

```cpp
#include <iostream>
#include <ctime>

int main() {
const int N = 5; // Размер массива
int array[N][N];

// Заполнение массива
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
array[i][j] = i + j;
}
}

// Вывод массива на экран
std::cout << "Массив:" << std::endl;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
std::cout << array[i][j] << "\t";
}
std::cout << std::endl;
}

// Получение текущего дня
std::time_t t = std::time(0);
std::tm* now = std::localtime(&t);
int day = now->tm_mday;

// Вычисление индекса строки на основе текущего дня
int rowIndex = day % N;

// Вычисление суммы элементов в выбранной строке
int sum = 0;
for (int j = 0; j < N; ++j) {
sum += array[rowIndex][j];
}

// Вывод суммы элементов в выбранной строке
std::cout << "Сумма элементов в строке " << rowIndex << ": " << sum << std::endl;

return 0;
}
```

### Пояснение:
1. **Инициализация массива**: Создается двумерный массив размером \( N \times N \), заполняется так, что каждый элемент равен сумме своих индексов \( i + j \).
2. **Вывод массива**: Программа выводит весь массив на экран.
3. **Получение текущего дня**: Используется библиотека `ctime` для получения текущего дня месяца.
4. **Вычисление суммы строки**: Индекс строки вычисляется как остаток от деления текущего дня на \( N \). Сумма элементов в этой строке вычисляется и выводится на экран.

Чтобы запустить программу, создайте новый консольный проект в Visual Studio, скопируйте код в функцию `main` и выполните проект. При необходимости измените значение \( N \).



Видео по теме