Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычисление крайних элементов матрицы 
:(
    Опции темы
OffyGhost
  Дата 9.3.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.3.2010

Репутация: нет
Всего: нет



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

Код

#include <stdio.h>
#include <stdafx.h>
#include <conio.h>
#include <clocale>
#include <math.h>
#define N 10
#define M 10
 
int main( void )
{
  setlocale(LC_ALL, "Russian");
  double mas[N] [M];
  int i, j, k, n, m;
  //Ввод данных
    printf( "Введите количество строчек: " );
    scanf( "%d", & n );
        printf( "Введите количество столбцов: " );
    scanf( "%d", & m );
 
//n строчек, m столбцов, забивание массива
  printf( "Введите значения:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
      scanf( "%lf", & mas[i] [j] );
 
    //Вывод на экран матрицы
  printf( "Матрица:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < m ; j++ )
      printf( "%7.2f ", mas[i][j] );
    printf( "\n" );
  }
 
 
  getchar();
  getchar();
}


Добавлено @ 14:03
Крайние элементы, как я понимаю, это
=

Код

a11 a12 ... a1M
a21           a2M 
a31           a3M
...              ...
aN1 aN2 ... aNM


Это сообщение отредактировал(а) OffyGhost - 9.3.2010, 14:32
PM MAIL   Вверх
Ozerich
Дата 9.3.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 2.8.2009
Где: Минск, Беларусь

Репутация: 4
Всего: 5



как понять "вычисление"?? smile 
Сумму крайних элементов найти или что?
--------------------
C++(STL) / DHTML(CSS) / Javascript / PHP  Developer
PM MAIL ICQ Skype   Вверх
OffyGhost
Дата 9.3.2010, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.3.2010

Репутация: нет
Всего: нет



да, сумма..

Добавлено через 9 минут и 30 секунд
Код

#include <stdio.h>
#include <stdafx.h>
#include <conio.h>
#include <clocale>
#include <math.h>
#define N 10
#define M 10
 
int main( void )
{
  setlocale(LC_ALL, "Russian");
  double mas[N] [M];
  int i, j, n, m;

  //Ввод данных
    printf( "Введите количество строчек: " );
    scanf( "%d", & n );
        printf( "Введите количество столбцов: " );
    scanf( "%d", & m );
 
//n строчек, m столбцов, забивание массива
  printf( "Введите значения:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
      scanf( "\n%lf", & mas[i] [j] );
 
    //Вывод на экран матрицы
  printf( "Матрица:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < m ; j++ )
      printf( "%7.2f ", mas[i][j] );
    printf( "\n" );
  }
 //сумма только крайних ее элементов

double k=0;

for ( i = 0; i < n; i++ )
for ( j = 0; j < m; j++ )
if (i==n-1||i==0||j==m-1||j==0)  k+=mas[i][j];

printf( "\nСумма крайних элементов: %d", k );

  getchar();
  getchar();
}


этот код работает как 

Введите количество строчек: 3
Введите количество столбцов: 3
Введите значения:
1 1 1
1 6 1
1 1 1
Матрица:
   1,00    1,00    1,00
   1,00    6,00    1,00
   1,00    1,00    1,00

Сумма крайних элементов: 0






PM MAIL   Вверх
Ozerich
Дата 9.3.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 2.8.2009
Где: Минск, Беларусь

Репутация: 4
Всего: 5



Держи
Код

#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <math.h>
#define N 10
#define M 10
 
int main( void )
{
  setlocale(LC_ALL, "Russian");
  int i,j,n,m;
  double mas[N] [M],sum = 0.0;
    printf( "Введите количество строчек: " );
    scanf( "%d", & n );
        printf( "Введите количество столбцов: " );
    scanf( "%d", & m );
  printf( "Введите значения:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
      scanf( "%lf", & mas[i] [j] );
 
  printf( "Матрица:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < m ; j++ )
      printf( "%7.2f ", mas[i][j] );
    printf( "\n" );
  }

  for(i = 0; i < n; i++)
      sum += mas[i][0] + mas[i][m - 1];
  for(i = 1; i < m - 1; i++)
      sum += mas[0][i] + mas[n - 1][i];
  printf("Сумма крайних элементов : %f", sum);
  getchar();
  getchar();
}

--------------------
C++(STL) / DHTML(CSS) / Javascript / PHP  Developer
PM MAIL ICQ Skype   Вверх
OffyGhost
Дата 9.3.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.3.2010

Репутация: нет
Всего: нет



Всем огромное спасибо!!
ВОт решение:

Код
#include <stdio.h>
#include <stdafx.h>
#include <conio.h>
#include <clocale>
#include <math.h>
#define N 10
#define M 10
 
int main( void )
{
  setlocale(LC_ALL, "Russian");
  double mas[N] [M];
  int i, j, n, m;
   int k=0;
  //Ввод данных
    printf( "Введите количество строчек: " );
    scanf( "%d", & n );
        printf( "Введите количество столбцов: " );
    scanf( "%d", & m );
 
//n строчек, m столбцов, забивание массива
  printf( "Введите значения:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
      scanf( "\n%lf", & mas[i] [j] );
 
    //Вывод на экран матрицы
  printf( "\nМатрица:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < m ; j++ )
      printf( "%7.2f ", mas[i][j] );
    printf( "\n" );
  }
 //сумма только крайних ее элементов


for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
    if (i==n-1||i==0||j==m-1||j==0)
k+=mas[i][j];
    
printf( "\nСумма крайних элементов: %d", k );

  getchar();
  getchar();
}

PM MAIL   Вверх
Ozerich
Дата 9.3.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 2.8.2009
Где: Минск, Беларусь

Репутация: 4
Всего: 5



Цитата(OffyGhost @ 9.3.2010,  13:54)
Всем огромное спасибо!!
ВОт решение:

Код
#include <stdio.h>
#include <stdafx.h>
#include <conio.h>
#include <clocale>
#include <math.h>
#define N 10
#define M 10
 
int main( void )
{
  setlocale(LC_ALL, "Russian");
  double mas[N] [M];
  int i, j, n, m;
   int k=0;
  //Ввод данных
    printf( "Введите количество строчек: " );
    scanf( "%d", & n );
        printf( "Введите количество столбцов: " );
    scanf( "%d", & m );
 
//n строчек, m столбцов, забивание массива
  printf( "Введите значения:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
      scanf( "\n%lf", & mas[i] [j] );
 
    //Вывод на экран матрицы
  printf( "\nМатрица:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < m ; j++ )
      printf( "%7.2f ", mas[i][j] );
    printf( "\n" );
  }
 //сумма только крайних ее элементов


for ( i = 0; i < n; i++ )
    for ( j = 0; j < m; j++ )
    if (i==n-1||i==0||j==m-1||j==0)
k+=mas[i][j];
    
printf( "\nСумма крайних элементов: %d", k );

  getchar();
  getchar();
}

Это тоже решение, но моё работает намного быстрее
--------------------
C++(STL) / DHTML(CSS) / Javascript / PHP  Developer
PM MAIL ICQ Skype   Вверх
OffyGhost
Дата 9.3.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.3.2010

Репутация: нет
Всего: нет



Да, у тебя решение гораздо круче моего, все логично изложено и нет воды =)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.