Форум программистов, компьютерный форум CyberForum.ru

с++ массив - C++

Восстановить пароль Регистрация
 
akyl22
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 16
02.05.2012, 20:56     с++ массив #1
Помогите решить без массив с++ ,без conio.h ,define n 4 .задана матрица Д(4,4).Если максимальный элемент матрицы стоит на главной диогонали ,то все элементы главной диогонали сделать равными максимальному
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 20:56     с++ массив
Посмотрите здесь:

C++ Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W
C++ Задать массив вещественных чисел и вставить в исходный массив число
C++ задача записать в массив отрицательные элементы матрицы в массив и вывести их
Массив: Составить массив из двух исходных по заданному принципу заполнения C++
Сформировать массив А из четных элементов исходного массива, а массив В - из нечетных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Holsteng
 Аватар для Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
02.05.2012, 21:27     с++ массив #2
Давай наработки
akyl22
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 16
02.05.2012, 21:38  [ТС]     с++ массив #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
main()
{
    int d[4][4]={1,2,3,4,
                 5,6,7,8,
                 9,10,11,12},max;
int*p,i;
p=&d[0][0];
for(i=0;i,12;i++)
scanf("%d",*(p+i));
max=*p;
for(i=0;i<11;i++)
if(max<*(p+i)) max=*(p+i);
printf("max=%d",max)
}
с помощью указателя
Holsteng
 Аватар для Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
02.05.2012, 22:21     с++ массив #4
Цитата Сообщение от akyl22 Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
main()// тип возвращаемого значения
{
    int d[4][4]={1,2,3,4,5,6,7,8, 9,10,11,12},max;// массив из 16 чисел, а ты пишешь 12, в остальных мусор
int*p,i;
p=&d[0][0];// здесь это лишние, так как имя массива есть указатель на первый элемент
for(i=0;i,12;i++)// опять же число 12, а не 16, в остальных мусор
лучше напиши так
for(int i=0;i<4;++i)
for(int j=0;j<4;++j)
scanf("%d",d[i][j]);
 
max=d[0][0];
for(i=0;i<11;i++)// здесь 11 отчего-то.
if(max<*(p+i)) max=*(p+i);// здесь неправильно, надо d[i][j] сравнивать с max через два цикла
printf("max=%d",max)
}
с помощью указателя
Элементы находящиеся на главной диагонали, имеют одинаковые позиции (0;0), (1;1) и так далее
Вот и сделай проверку через два цикла, как при вводе, каждого элемента, в главной диагонали он или нет . Если в главной диагонали, то d[i][j]=max;
Yandex
Объявления
02.05.2012, 22:21     с++ массив
Ответ Создать тему
Опции темы

Текущее время: 09:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru