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

Лабораторная работа\Двумерные массивы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
LeBron_doter
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 34
09.03.2011, 13:24     Лабораторная работа\Двумерные массивы #1
Двумерные массивы

Задана матрица порядка n и число k. Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке.

Очень жду ваших решений, заранее Огромное спасибо!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
09.03.2011, 13:42     Лабораторная работа\Двумерные массивы #2
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 <iostream>
#include <time.h>
#include <iomanip>
#define N 6
using namespace std;
 
int main()
{   double A[N][N];
    int i,j,k;
    srand(time(NULL));
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            A[i][j]=rand()/200.0;
 
    cout<<"Original array\n";
    for(i=0;i<N;i++)
    {for(j=0;j<N;j++)
            cout<<fixed<<setprecision(2)<<A[i][j]<<"\t";
    cout<<endl;
    }
 
    cout<<"N =\t"<<N<<endl;
    cout<<"k = ?\t";
    cin>>k;
    for(j=0;j<N;j++)
        A[k][j]= A[k][j]/A[k][k];
 
    cout<<"Changed array\n";
    for(i=0;i<N;i++)
    {for(j=0;j<N;j++)
            cout<<A[i][j]<<"\t";
    cout<<endl;
    }
 
cin.get();
return 0;
 }
LeBron_doter
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 34
10.03.2011, 09:46  [ТС]     Лабораторная работа\Двумерные массивы #3
Конечно огромное спасибо! Но можно пожалуйста объяснить что значит несколько строк из кода программы: 3,4 строка - что это за диррективы; 6 строка - что это за функция using namespace; что за запись в 11-й строке?; в 19-й строке я не знаю назначения вот этого fixed<<setprecision(2) ?;20 строка - что такое endl ?;25 строка cin - что это такое?; и последнее это 36-я строка cin.get(); ?.
Вот это то что я не понимаю в этом коде программы т.к. этими методами мы ещё не решали задачи(( Прошу пожалуйста объяснить назначение всего этого, может быть предложить более простую альтернативу, если не сложно конечно! Заранее ОГРОМНЕЙШЕЕ спасибо! Сейчас ниже я выложу пример кода подобных программ которые мы решаем.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.03.2011, 10:19     Лабораторная работа\Двумерные массивы #4
LeBron_doter, может вам на си надо?

Добавлено через 31 минуту
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 <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#define n 5
int main()
{
    srand(unsigned(time(NULL)));
    double mat[n][n];
    int i,j,k,k1;
    printf("Matrix:\n");
     for(i=0; i<n; i++)
     {
         for(j=0; j<n; j++)
         {
             mat[i][j]=rand()%99;
              printf("%.2lf\t ",mat[i][j]);
         }
        printf("\n");
     }
     printf("\nEnter k -> ");
     scanf("%d",&k);
     k1=mat[k-1][k-1];
     printf("\nNew matrix:\n");
     for(i=0; i<n; i++)
     {
         for(j=0; j<n; j++)
         {
             if(i==k-1)
             {
                 mat[i][j]/=k1;
             }
            printf("%.2lf\t ",mat[i][j]);
         }
        printf("\n");
     }
     getch();
     return 0;
}
LeBron_doter
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 34
10.03.2011, 12:18  [ТС]     Лабораторная работа\Двумерные массивы #5
Ну это что более похоже, но также есть непонятные моменты: 3 строка,8 строка?

Добавлено через 44 секунды
Вот примерно так мы решаем задачи на двумерные массивы:
Найти суммы элементов матрицы A[n][m] в строках с k1 по k2. Все суммы записать в массив. Результат вывести на

печать.
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
#include<stdio.h>
#include<conio.h>
void main()
{
int k1,k2,i1,i,j,c[5],s;
int a[5][5]={{2,4,6,1,2},
                 {3,5,3,1,4},
                 {-1,1,0,4,5},
                 {9,0,3,2,-2},
                 {3,3,5,6,9}};
clrscr();
for(;; )
{
printf("\nVvedite znacheniya k1,k2: ");
scanf("%d %d", &k1, &k2);
if(k1==0||k2==0||k1>5||k2>5||k1<0||k2<0)
{
printf("\nvvedyonniye znacheniya ne udovletvoryayut usluviyu\n");
continue;}
i1=0
for(i=k1-1;i<k2;i++)
{
S=0;
for(j=0;j<5;J++) s=s+a[i][j];
c[i1++]=s;
}
printf("\nSumma elementov matritsi v strokah ot %d do %d",k1,k2);
for(i=0;i<11;i++)
printf("\n%d ",c[i]);
break;
}
}
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.03.2011, 12:20     Лабораторная работа\Двумерные массивы #6
LeBron_doter,
3 - подключение библиотеки системного времени
8 - функция srand используется для того, чтобы при каждом запуске программы функция rand генерировала случайные числа. Точкой отсчета как раз выбырается системное время
easybudda
10.03.2011, 12:35     Лабораторная работа\Двумерные массивы
  #7

Не по теме:

Цитата Сообщение от LeBron_doter Посмотреть сообщение
Вот примерно так мы решаем задачи...
Прям хоть президенту пиши - до каких пор будут учить студентов быдлокодить под дремучий компилятор?!! Жуть на самом деле.

Yandex
Объявления
10.03.2011, 12:35     Лабораторная работа\Двумерные массивы
Ответ Создать тему
Опции темы

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