#include "stdlib.h" #include "time.h" #include "iostream" #include "conio.h"
#include "ctime"
using namespace std;
int fun_rund (int *mass) {
for( int a = 0; a < 5; a++)
{
for(int b = 0; b < 5; b++)
{
mass[a*b] = (rand()%80)-10;
}
}
}
int fun_out (int *mass){
int i,j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
printf("%4d", mass[i*j]);
}
printf("\n");
}
}
int main(int argc, char * argv[]) {
srand((unsigned)time(NULL));
int *A = new int [5*5];
int *B = new int [5*5];
int *C = new int [5*5];
fun_rund(A);
fun_rund(B);
fun_rund(C);
fun_out(A);
return 0;
}
создаю, заполняю и вывожу двумерные массивы. Но почему-то числа в первой строке и в первом столбце одинаковые.
28 28 28 28 28
28 -1 28 -6 38
28 28 38 18 43
28 -6 18 12 32
28 38 43 32 36
У вас неправильно делается индексация двумерного массива, замените строчку:
printf("%4d", mass[i*j]);
на:
printf("%4d", mass[i*5 + j]);
В общем случае, если вы создаёте двумерный массив mas[m*n]
, то правильное обращение к ячейке с номерами i, j
будет выглядеть как:
mas[i*n + j]
Вы сначала отсчитываете нужную строку (сдвигаетесь i
раз на n
), затем в найденной строке отсчитываете нужный по счёту элемент.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
У меня имеется программа - тестирование,в которой 10 вопросовКаждый вопрос в отдельной форме
В конструкторе инициализируются локальные переменныеХотелось бы использовать их в других методах класса, какие есть методы решения данной...
Доброго времени сутокПишу сейчас консольный морской бой на С++ (можно даже сказать С поскольку без использования классов)ю Сделал расстановку...