Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2008, 18:24   #1
Merciless
 
Регистрация: 18.12.2007
Сообщений: 4
Восклицание Операции с матрицами в языке программирования C

Уважаемые программисты, помогите пожалуйста с решением вот такой задачки, она не сложная... :'(
Задание: В данной действительной квадратичной матрице порядка n найти наибольший по модулю элемент. Получить квадратичную матрицу порядка n-1 путем выбрасывания из исходной матрица, какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением...
Merciless вне форума Ответить с цитированием
Старый 09.07.2008, 19:56   #2
Merciless
 
Регистрация: 18.12.2007
Сообщений: 4
По умолчанию

Посидел, поработал... Это поиск элемента максимального значения в массиве

Мой "код":

#include
#include
main()
{
int search (int *b, int n, int i);
int *b;
int l, i, k, t;
scanf("%d%d",&l,&i);
printf
("\nВыбор %d максимального элемента из %d штук",i,l);
b=(int *)(calloc(100,sizeof(int)));
for (k=0; k<100; k++)
b[k]=k; /* заполнение массива */
for (k=1; k < l/4; k++)
{ t=b[k]; /* перемешивание */
b[k]=b[l-k]; /* массива */
b[l-k]=t;
}
k=search(b,l,i); /* выбор элемента */
printf ("\n выбран элемент равный %d\n\n",k);
return 0;
}

Вопрос: как сделать чтобы это было осуществимо для матриц, и какие библиотеки нужно подключить для того чтобы использовать search?...
Merciless вне форума Ответить с цитированием
Старый 09.07.2008, 22:50   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

По второму вопросу. Я пока вижу необходимость только в
Код:
#include <stdio.h>
По первому - вопрос неясен. Что именно должно быть осуществимо? Самый простой способ обработки двумерных массивов - два цикла, один в другом. Зачем нужно перемешивание не совсем ясно - матрицу можно сразу заполнить случайными числами, а не вводить сотню значений вручную (страшно даже подумать про ввод матрицы 100х100).

Оформляйте код по правилам, тэгом [code].
B_N вне форума Ответить с цитированием
Старый 17.07.2008, 18:32   #4
Merciless
 
Регистрация: 18.12.2007
Сообщений: 4
Хорошо Я потрудился:)

Надеюсь, что мои труды не пройдут попусту, потому выкладываю сюда решение этого задания номер 684 из какой-то книжки с задачками по C#

Автором сей программы являюсь я.
Code:

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main(void)
{
 int i,j,k,n,b,m;
 int *A;
 clrscr();
 printf("Введите размерность матрицы");
 scanf("%d",&n);
 A=(int*) malloc (n*n*sizeof(int));
 for (i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
     {
       A[n*i+j]=random(10)+1;
       printf("%d",A[n*i+j]);
     }
    printf("\n");
  }
 b=A[0];
 for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  {
   if (A[n*i+j]>b)
   {
    b=A[n*i+j];
    k=i; m=j;
   }
  }
 printf("Значение элемента= %d , Номер строки %d , Номер столбцa %d",b,k,m);
 for(i=0;i<n;i++)
  {
   if (i==k) i++;
   for(j=0;j<n;j++)
    {
     if(j==m) j++;
     printf("%3d",A[n*i+j]);
    }
   printf("\n");
  getch();
 }}
P.S если уж помогать, так помогать, а не ставить себя выше других. Я кончил.
Merciless вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3. Написать программы на языке программирования С++ или Pasckal: НиколаМГВРК Фриланс 6 17.02.2008 00:58
Программа на русском языке в Windows XP на другом языке... Как? 29bit Свободное общение 4 01.02.2008 17:24
Написать программы на языке программирования С++ или Pasckal: НиколаМГВРК Помощь студентам 3 01.02.2008 16:19
Поблема с матрицами Ilius Помощь студентам 13 18.12.2007 19:27