Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209

Двухмерные массивы: Вычисление сумм элементов

06.02.2013, 01:06. Показов 1480. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие форумчане.
-----------------------------------
Помогите, пожалуйста, решить задачу.
Даны действительные числа a1,...,a64. Получить действительную квадратную матрицу порядка 8,элементами которой являются числа a1,...,a64,расположенные в ней по схеме, представленной на рисунке. Рисунок прикрепил ниже. Ну и скрин задания, на всякий случай.
-----------------------------------
За ранее благодарен.
Ну на Паскале получилось как-то так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
const n=8;
var a:array[1..n,1..n] of byte;
    i,j:integer;
begin
clrscr;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if odd(j) then a[i,j]:=n*(j-1)+i
    else a[i,j]:=n*j-i+1;
    write(a[i,j]:4);
   end;
  writeln;
 end;
readln
end.
--------------------
А мне надо переписать под С++.
Пожалуйста, поможет кто-нибудь?
Миниатюры
Двухмерные массивы: Вычисление сумм элементов  
Изображения
 
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2013, 01:06
Ответы с готовыми решениями:

Одномерные массивы: вычисление сумм элементов
Еще раз здравствуйте, дорогие форумчане. Мне еще раз нужна ваша помощь по задаче. Если сможете, то помогите, пожалуйста. Собственно...

Одномерные массивы: вычисление сумм элементов
Злравствуйте, дорогие форумчане. Мне снова нужна ваша помощь по одномерным массивам. На этот раз три задачи первых я решил, а вторые...

Одномерные массивы: вычисление сумм элементов
Еще раз здравствуйте, дорогие форумчане. Есть небольшая просьба с решением задач. Даны натуральное число n, действительные числа a1,...

13
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:09
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
Здравствуйте, дорогие форумчане.
-----------------------------------
Помогите, пожалуйста, решить задачу.
Даны действительные числа a1,...,a64. Получить действительную квадратную матрицу порядка 8,элементами которой являются числа a1,...,a64,расположенные в ней по схеме, представленной на рисунке. Рисунок прикрепил ниже. Ну и скрин задания, на всякий случай.
-----------------------------------
За ранее благодарен.
Ну на Паскале получилось как-то так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
const n=8;
var a:array[1..n,1..n] of byte;
    i,j:integer;
begin
clrscr;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if odd(j) then a[i,j]:=n*(j-1)+i
    else a[i,j]:=n*j-i+1;
    write(a[i,j]:4);
   end;
  writeln;
 end;
readln
end.
--------------------
А мне надо переписать под С++.
Пожалуйста, поможет кто-нибудь?
Да безпроблем...
1
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:09  [ТС]
Жду...
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:12
только функцию odd() опишите сюда тоже.

Добавлено через 1 минуту
всё, я нашёл инфу по ней.
0
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:12  [ТС]
Цитата Сообщение от Пёс Посмотреть сообщение
только функцию odd() опишите сюда тоже.
А она разве тут нужна?
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:18
В С++ нет типа byte, но есть char который весит 1 байт и его можно воспринимать как целочисленный byte в Paskal. Как Вам будет удобнее, если я использую char в качестве byte или сделать массив обычным int (аналог integer из паскаля) ?

Добавлено через 1 минуту
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
А она разве тут нужна?
использована в 11й строке.Но описывать её уже не нужно, я нашел в интернете её описание
0
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:21  [ТС]
Цитата Сообщение от Пёс Посмотреть сообщение
В С++ нет типа byte, но есть char который весит 1 байт и его можно воспринимать как целочисленный byte в Paskal. Как Вам будет удобнее, если я использую char в качестве byte или сделать массив обычным int (аналог integer из паскаля) ?

Добавлено через 1 минуту


использована в 11й строке.Но описывать её уже не нужно, я нашел в интернете её описание
А если через двухмерный массив?
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:28
Лучший ответ Сообщение было отмечено как решение

Решение

Массив в любом случае будет двумерным интересует только тип его элементов. Либо char, который является символом, но по совместительству ещё и подрабатывает в языке C++ типом byte, либо int который аналог паскалевского integer. Но int как и в паскале весит 4 байта.
0
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:30  [ТС]
Цитата Сообщение от Пёс Посмотреть сообщение
Массив в любом случае будет двумерным интересует только тип его элементов. Либо char, который является символом, но по совместительству ещё и подрабатывает в языке C++ типом byte, либо int который аналог паскалевского integer. Но int как и в паскале весит 4 байта.
Ну это уже на ваше усмотрение)
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:35
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
Ну это уже на ваше усмотрение)
Последний вопрос, комментарии нужны?
0
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:42  [ТС]
Цитата Сообщение от Пёс Посмотреть сообщение
Последний вопрос, комментарии нужны?
Нет...)
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:42
Вобщем вот... Если нужны комменты, могу дописать.
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
#include <iostream>
#include <locale>
 
using std::cout;
using std::endl;
 
typedef unsigned char byte;
 
const int n = 8;
 
void main()
{
    setlocale(LC_ALL, "Russian");
 
    byte arr[n][n];
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(!(j % 2))                
                arr[i][j]= n*(j-1)+i;
            else
                arr[i][j]= n*j-i+1;
            cout << static_cast<int>(arr[i][j]) << ' ';
        }
        cout << endl;
    }
    system("pause");
}
1
1 / 1 / 2
Регистрация: 27.10.2012
Сообщений: 209
06.02.2013, 01:45  [ТС]
Цитата Сообщение от Пёс Посмотреть сообщение
Вобщем вот... Если нужны комменты, могу дописать.
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
#include <iostream>
#include <locale>
 
using std::cout;
using std::endl;
 
typedef unsigned char byte;
 
const int n = 8;
 
void main()
{
    setlocale(LC_ALL, "Russian");
 
    byte arr[n][n];
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(!(j % 2))                
                arr[i][j]= n*(j-1)+i;
            else
                arr[i][j]= n*j-i+1;
            cout << static_cast<int>(arr[i][j]) << ' ';
        }
        cout << endl;
    }
    system("pause");
}
А хотя... Напишите, пожалуйста, чтобы я разобрался)
0
 Аватар для Пёс
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
06.02.2013, 01:55
Не удивляйтесь, если ответы не совпадут. Всё дело в том, что в C++ индексация массивов начинается с 0, и это нельзя поменять.... Это значит что первый элемент массива arr[0], а вследствии этого и переменные i и j, которые учавствуют в формулах будут другими.

Добавлено через 7 минут
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
#include <iostream>   //заголовочный файл для потокового вывода/ввода в консоль
#include <locale>       //заголовочный файл для установки локали.
 
using std::cout;        //использование cout без пространства имен std;
using std::endl;         //использование endl без пространства имен std;
 
typedef unsigned char byte;       //заставляем char работать как byte
 
const int n = 8;         //константа размерности массива
 
void main()
{
    setlocale(LC_ALL, "Russian");  //установка поддержки русских символов в консоли
 
    byte arr[n][n];                  //объявление массива
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(!(j % 2))  //если остаток от деления j на 2 не равен 0 (проверка на чётность)
                arr[i][j]= n*(j-1)+i;   //расчёт
            else           //если j нечётно
                arr[i][j]= n*j-i+1;   // расчёт
            cout << static_cast<int>(arr[i][j]) << ' '; //вывод, с приведением типов char к int
        }
        cout << endl;      //с новой строки
    }
    system("pause");    //задержка экрана
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2013, 01:55
Помогаю со студенческими работами здесь

Одномерные массивы: вычисление сумм элементов
Еще раз здравствуйте, дорогие форумчане. Помогите, пожалуйста, с решением еще одной задачи... Тут я не могу додуматься как ввести...

Одномерные массивы: вычисление сумм элементов
Еще раз здравствуйте, дорогие форумчане. Снова нужна ваша помощь. Вот собственно сама задача: Даны натуральное число n,...

Одномерные массивы: вычисление сумм элементов
Еще раз здравствуйте, дорогие форумчане. Мне еще раз нужна ваша помощь по задачам. Если сможете, то помогите, пожалуйста. Собственно...

Одномерные массивы: вычисление сумм элементов
Здравствуйте, дорогие форумчане. Мне снова нужна ваша помощь. Так как в задании есть примеры, которые в ручную и быстро не могу...

Двухмерный массив: вычисление сумм элементов
Здравствуйте, дорогие форумчане!;) -------------------------------------- Помогите, пожалуйста, решить задание. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru