СРОЧНО!!!3 простенькие лабы на с++(за вознаграждение)

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Reen
Сообщения: 8
Зарегистрирован: 04 июн 2006, 22:30

20 дек 2006, 22:16

Лабы надо сделать в консоль визарде...
лаба 1
Постановка задачи(сортировку здесь желательно сделать методом пузырька)
Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1<n<=100, 1<m<=50), выводит исходную матрицу, упорядочивает элементы матрицы и выводит матрицу после ее упорядочивания. Правило упорядочивания определяется вариантом. Варианты заданий приведены в табл. 1. Алгоритмы ввода, вывода и упорядочивания матрицы оформить в виде функций с параметрами.
14 Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по столбцам ее элементы образовывали отсортированный по возрастанию массив

лаба 2
Постановка задачи
Используя алгоритмы работы с матрицей, разработанные в лабораторной работе № 1, разработать и протестировать программу обработки двух матриц с элементами разных типов. Программа должна содержать перегруженные функции для работы с целочисленной матрицей и матрицей другого типа: вещественной (варианты 3-5, 9, 12, 13,19, 20) или матрицей, элементы которой - строки (варианты 1, 2, 6-8, 10, 11, 14-18).

лаба 3
Постановка задачи
Создать шаблоны функций, выполняющей ввод, вывод и упорядочивание матриц. Протестировать шаблоны для матриц с элементами различных типов: int, float и char. Варианты заданий приведены в лабораторной работе № 1.


моя ася 271 764 486
Аватара пользователя
Oleg_Rus
Сообщения: 330
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

21 дек 2006, 07:28

эх... если бы на Delphi,а еще лучше на Paskal'e, я бы в миг, но С++ я ни дуба ни шарю
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

21 дек 2006, 10:24

Какой у тебя вариант-то?
Задачки нетрудные, могу помочь
Даже самое длинное путешествие начинается с первого шага.
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

21 дек 2006, 13:29

Вот набросал первую, кажись так должно работать...

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define maxM 50
#define maxN 100

int A[maxN][maxM];

void FillMatrix(int n,int m)
{
 randomize();
 int i,j;
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {
   A[i][j] = random(999);
  }
 }
}

void Sort_14(int n,int m)
{
 int tmp,j,k;
 for (j=0;j<n;j++)
 {
  for (k=j;k<n;k++)
  {
   if (A[j][m]>A[k][m])
   {
    tmp=A[j][m];
    A[j][m]=A[k][m];
    A[k][m]=tmp;
   }
  }
 }
}

void PrintMatrix(int n,int m)
{
 int i,j;
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {
   printf ("%4d",A[i][j]);
  }
  printf("\n");
 }
}

int main()
{
 int i,N,M; // N (1,100); M (1,50).

 clrscr();

 do
 {
  printf ("Strok: ");
  scanf("%d",&N);
 } while (N<1 || N>100);

 do
 {
 printf ("Stolbtsov: ");
 scanf("%d",&M);
 } while (M<1 || M>100);

 FillMatrix(N,M);

 PrintMatrix(N,M);

 printf("Press a key");
 getche();
 printf("\n");

 for (i=0;i<=M;i++)
 {
  Sort_14(N,i);
 }

 PrintMatrix(N,M);

 getche();

 return 1;
}
Даже самое длинное путешествие начинается с первого шага.
Reen
Сообщения: 8
Зарегистрирован: 04 июн 2006, 22:30

22 дек 2006, 22:49

shpi0 писал(а):Какой у тебя вариант-то?
Задачки нетрудные, могу помочь
14 вариант
Мне их во вторник уже сдавать=(
Reen
Сообщения: 8
Зарегистрирован: 04 июн 2006, 22:30

22 дек 2006, 22:57

shpi0 писал(а):Вот набросал первую, кажись так должно работать...

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define maxM 50
#define maxN 100

int A[maxN][maxM];

void FillMatrix(int n,int m)
{
 randomize();
 int i,j;
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {
   A[i][j] = random(999);
  }
 }
}

void Sort_14(int n,int m)
{
 int tmp,j,k;
 for (j=0;j<n;j++)
 {
  for (k=j;k<n;k++)
  {
   if (A[j][m]>A[k][m])
   {
    tmp=A[j][m];
    A[j][m]=A[k][m];
    A[k][m]=tmp;
   }
  }
 }
}

void PrintMatrix(int n,int m)
{
 int i,j;
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {
   printf ("%4d",A[i][j]);
  }
  printf("\n");
 }
}

int main()
{
 int i,N,M; // N (1,100); M (1,50).

 clrscr();

 do
 {
  printf ("Strok: ");
  scanf("%d",&N);
 } while (N<1 || N>100);

 do
 {
 printf ("Stolbtsov: ");
 scanf("%d",&M);
 } while (M<1 || M>100);

 FillMatrix(N,M);

 PrintMatrix(N,M);

 printf("Press a key");
 getche();
 printf("\n");

 for (i=0;i<=M;i++)
 {
  Sort_14(N,i);
 }

 PrintMatrix(N,M);

 getche();

 return 1;
}
спасибо окнечно , но если честно ,я тут почти ничего не понял.....мы тока в этом семестре начали изучать с++ и многое из этого я вижу впервые(мы лабы делаем в консоль визарде).
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

23 дек 2006, 13:12

Ничего сверхестественного в том что я написал нет. В этом семестре это с сентября? Чтоб написать такую программку надо знаний которые в университете за месяц даются, а то и меньше (если вы на программиста учитесь).

Я кстати щас неточность нашел. Надо

Код: Выделить всё

 do
 {
 printf ("Stolbtsov: ");
 scanf("%d",&M);
 } while (M<1 || M>100);
на

Код: Выделить всё

 do
 {
 printf ("Stolbtsov: ");
 scanf("%d",&M);
 } while (M<1 || M>50);
заменить, а то несоответствие условию получается
Даже самое длинное путешествие начинается с первого шага.
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

23 дек 2006, 13:13

А более грамотно вот так написать:

Код: Выделить всё

 do
 {
  printf ("Strok: ");
  scanf("%d",&N);
 } while (N<1 || N>maxN);

 do
 {
 printf ("Stolbtsov: ");
 scanf("%d",&M);
 } while (M<1 || M>maxM);
:)

Если есть конкретные вопросы по синтаксису - пишите.
Даже самое длинное путешествие начинается с первого шага.
Ответить