Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
1

Заполнение массива по диагонали!

11.04.2010, 12:51. Просмотров 3233. Ответов 24
Метки нет (Все метки)

всем привет!помогите пожалуйста!не получается выстроить порядок! задача такая! заполнить массив 6*6 цыфрами от 1 до 21 по следущей схеме:
6 0 0 0 0 0
5 11 0 0 0 0
4 10 0 0 0 0
3 9 14 18 0 0
2 8 13 17 20 0
1 7 12 16 19 21
(нули по диагонали!)помогите,плиз)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2010, 12:51
Ответы с готовыми решениями:

Заполнение массива змейкой по диагонали
народ можете немного помочь) надо заполнить массив таким способом мне как бы не нужна прям целая...

Заполнение массива 6х6 по диагонали
Заполнить массив 6х6 по диагонали (вложение) И вывести на экран. Я записал изменение адресации по...

Заполнение двумерного массива (зануление диагонали)
Всем добрый вечер, прошу вашей помощи... дан массив 6х6, заполненный числами по порядку. Нужно...

Экзотическое заполнение массива параллельно побочной диагонали
Добрые люди,подскажите пожалуйста алгоритм для подобного стиля заполнения массива... 01 03 04 10...

24
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
11.04.2010, 23:19 2
а где 15?
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
12.04.2010, 17:27  [ТС] 3
блин,пропустила)))) над 14 !!!
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
12.04.2010, 19:26 4
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
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <vector>
#include <iomanip>
#include <conio.h>
 
void fillMatrix(std::vector< std::vector<int> > matrix, int ROWS, int COLS);
 
int main(){
    const int ROWS=6;
    const int COLS=6;
    std::vector< std::vector<int> > matrix(ROWS, std::vector<int>(COLS));
    fillMatrix(matrix,ROWS,COLS);
    getch();
    return 0;
}
 
 
void fillMatrix(std::vector< std::vector<int> > matrix, int ROWS, int COLS){
    int k=1;
    int i=ROWS-1;
    int j=0;
 
    while (j<COLS){
        while (i>=(0+j)){
            matrix[i][j]=k;
            k++;
            i--;
        }
        j++;
        i=ROWS-1;
    }
 
     for (int i=0; i<ROWS; i++){
     for (int j=0; j<COLS; j++){
         std::cout<<std::setw(4)<<matrix[i][j];
     }
     std::cout<<std::endl;
    }
}
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 19:38  [ТС] 5
спасибо большое))).....нооо.....выписывает ошибку на строчке
for (int i=0; i<ROWS; i++){

ошибка описывается,как - error C2374: 'i' : redefinition; multiple initialization
я понятия не имею что это?)
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 21:53 6
у меня все работает)
0
Вложения
Тип файла: rar заполнение матрицы по диогонали.rar (82.9 Кб, 58 просмотров)
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:04 7
попробуй убери в 33 и 34 int перед i и j соответственно
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:11  [ТС] 8
слушай,а если я тебе щас другое решение пришлю,сможешь найти ошибку?я всю голову сломала,не знаю че не так?)))может попробуешь!
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:12 9
давай попробую
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:12  [ТС] 10
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
31
32
33
34
35
36
37
#include <math.h>
#include <stdio.h>
# include <iostream.h>
 
 
void main()
{FILE*f;
 f=fopen("d:\cpp\lab3.txt","w+");
 
  int mas[6][6],i,j,k;
 for (i=0;i<6;i++)
{ for(j=0;j<6;j++)
   mas[i][j]=0;
}
k=6;
mas[0][0]=6;
for(i=1;i<6;i++)
{k--;
  mas[i][i]=mas[i-1][i-1]+k;
 for(j=i+1;j<6;j++)
mas[i][j]=mas[i][j-1]-1;
 printf("%5d",mas[i][j], mas[i][i]);
 fprintf(f,"%5d",mas[i][j], mas[i][i]);
 
}
 
for (j=0;j<6;j++)
{ for(i=0;i<6;i++)
 
   cout<<mas[i][j]<<" ";
   cout<<endl;
   
}
printf("\n");
   fprintf(f,"\n");
 
}
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:14 11
к сожадению в с не очень разбираюсь, мой код - С++
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:16  [ТС] 12
блииин как жалко(((я думала что ты хоть поможешь((((это решение ведь на много легче
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:17 13
в моем коде где у тебя ошибки?
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:18  [ТС] 14
33,34! пишет че то про i
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:19 15
я же сказал убери int в тех строках
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:19  [ТС] 16
понимаешь.....я просто не понимаю твое решение))))и объяснить его вряд ли смогу
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:21 17
попробуй полностью скопируй и вставь
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
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <vector>
#include <iomanip>
#include <conio.h>
 
void fillMatrix(std::vector< std::vector<int> > matrix, int ROWS, int COLS);
 
int main(){
    const int ROWS=6;
    const int COLS=6;
    std::vector< std::vector<int> > matrix(ROWS, std::vector<int>(COLS));
    fillMatrix(matrix,ROWS,COLS);
    getch();
    return 0;
}
 
 
void fillMatrix(std::vector< std::vector<int> > matrix, int ROWS, int COLS){
    int k=1;
    int i=ROWS-1;
    int j=0;
 
    while (j<COLS){
        while (i>=(0+j)){
            matrix[i][j]=k;
            k++;
            i--;
        }
        j++;
        i=ROWS-1;
    }
 
     for (i=0; i<ROWS; i++){
     for (j=0; j<COLS; j++){
         std::cout<<std::setw(4)<<matrix[i][j];
     }
     std::cout<<std::endl;
    }
}
я могу объяснить, тут ниче сложного
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:22  [ТС] 18
ну препод наверно поймет что это уже из с++....и что об этом мы впринципе еще не говорили....откуда я это взяла?))))))
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
13.04.2010, 22:27 19
можеш сказать - самообучение, друг помог, и тд)
Но в твоем коде к сожалению не могу сделать ничего)

Добавлено через 3 минуты
твой код оч плохой)))
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 22
13.04.2010, 22:28  [ТС] 20
ды ты чё)))))))чё это он плохой то?)))потому что твой хороший?)))))ахаха
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2010, 22:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнение матрицы змейкой по диагонали
Дано натуральное N (1&lt;=N&lt;=10). Заполнить матрицу порядка NxN целыми числами 0, 1, 2, 3, …, NxN – 1...

Заполнение матрицы по диагонали змейкой
будьте добры ,помогите написать програму: заполнение матрицы введенными с клавиатуры числами по...

Обменять элементы массива на главной диагонали с элементами на побочной диагонали
Всем привет. Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона...

Заполнение главной диагонали матрицы максимальными элементами
спасибо, что откликнулись. нужно решить такую задачу: Путем перестановки элементов добиться...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.