Здравствуйте, гость ( Вход | Регистрация )

21 страниц V  « < 6 7 8 9 10 > »   
Ответить в данную темуНачать новую тему
> Помощь с лабами
titan
сообщение 10.05.2005 - 16:02

Продвинутый новичок
**

Группа: Участник
Сообщений: 12
Регистрация: 12.10.2003
Пользователь №: 392


блин парни другу нужна помощь: надо сделать 6 лаб по си++!!! если кто осмелится чувак денег даст... надо сделать как можно быстрее... ohmy.gif
Перейти в начало страницы
 
+Цитировать сообщение
Vanki
сообщение 10.05.2005 - 16:08

Частый гость
***

Группа: Участник
Сообщений: 285
Регистрация: 30.10.2004
Пользователь №: 5198


У меня такая же лаба. Вначале обрадовался, увидев вариант Фланкера, думал, хоть с одной лабой теперь меньше возиться. Но скопировав его в Borland C обломался, вариан то, для более новых версий сишника. Вот, кстати мой вариант, но она не до конца работает (если в первой строке цифра, выдает только один символ в четвертом столбце):
Код
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iomanip.h>
void main()
{FILE *f;
char matr[12][4];
char numb[9]={'1','2','3','4','5','6','7','8','9'};
int i,j,n,m;
randomize();
clrscr();
for (i=0; i<4; i++)
{
  matr[0][i]=random(80)+34;
  matr[1][i]='*';
  matr[2][i]=random(80)+35;
  matr[3][i]='#';
}
for (i=0; i<4; i++)
{
 for (j=0; j<3; j++)
 {
  cout<<setw(4)<<matr[j][i];
 }
 cout<<endl;
}
cout<<endl;
for (n=0; n<9; n++)
{
 if (matr[0][0]==numb[n])
 {
  for (m=0; m<n; m++)
  {
   matr[3][0]=matr[2][0];
  }
 }
}
 for (n=0; n<9; n++)
{
 if (matr[0][1]==numb[n])
 {
  for (m=0; m<n; m++)
  {
   matr[3][1]=matr[2][1];
  }
 }
}
 for (n=0; n<9; n++)
{
 if (matr[0][2]==numb[n])
 {
  for (m=0; m<n; m++)
  {
   matr[3][2]=matr[2][2];
  }
 }
}
 for (n=0; n<9; n++)
{
 if (matr[0][3]==numb[n])
 {
  for (m=0; m<n; m++)
  {
   matr[3][3]=matr[2][3];
  }
 }
}
for (i=0; i<4; i++)
{
 for (j=0; j<4; j++)
 {
  cout<<setw(4)<<matr[j][i];
 }
 cout<<endl;
}
f=fopen("out_f.txt","w");
if (!f)
{
 puts("Nelzia otkrit file!");
 exit(1);
}
for (i=0; i<4; i++)
{
 fwrite (&matr[0][i],1,1,f);
 fwrite (&matr[1][i],1,1,f);
 fwrite (&matr[2][i],1,1,f);
}
fclose(f);
getch();
}

Не спорю, написано через одно место biggrin.gif
Перейти в начало страницы
 
+Цитировать сообщение
titan
сообщение 11.05.2005 - 17:46

Продвинутый новичок
**

Группа: Участник
Сообщений: 12
Регистрация: 12.10.2003
Пользователь №: 392


Народ нужно 4 лабы сделать в Borland C++ 3.1. В долгу не останусь wink.gif
Кого заинтересовало пишите в личку
ЗЫ Мне нужно небольшое пояснение к лабам
Перейти в начало страницы
 
+Цитировать сообщение
bezich
сообщение 12.05.2005 - 00:10

Частый гость
***
орден I степени
Группа: Участник
Сообщений: 161
Регистрация: 15.09.2004
Пользователь №: 4719


спамеров-то...
поможите пожалуйста
Дана строка слов, разделенных пробелами. Сформируйте новую строку, заменив каждую группу внутренних пробелов одним пробелом. Оставьте в строке только первые вхождения слов. Определите самое короткое слово.
Перейти в начало страницы
 
+Цитировать сообщение
Vanki
сообщение 14.05.2005 - 12:49

Частый гость
***

Группа: Участник
Сообщений: 285
Регистрация: 30.10.2004
Пользователь №: 5198


Другу нужно написать три лабы в Borland C++ 3.0. Сколько это будет стоить?
Перейти в начало страницы
 
+Цитировать сообщение
Almazov
сообщение 14.05.2005 - 16:07

Постоялец форума
*****
орден III степени
Группа: Участник
Сообщений: 643
Регистрация: 13.05.2004
Пользователь №: 3537


Цитата(Van`ki @ 14.05.2005 - 13:50)
Другу нужно написать три лабы в Borland C++ 3.0. Сколько это будет стоить?

знаю человека, который напишет за 2000р
Перейти в начало страницы
 
+Цитировать сообщение
Guest_wuuuzzzup_*
сообщение 14.05.2005 - 17:35
| Быстрая цитата | Сообщение #147


Гости





Дана матрица 7х6. Сформировать одномерный массив, содержащий сумму максимального и минимального элемента каждой строки. Найти и выделить цветом минимальный и максимальный элементы исходной матрицы.

сделайте плз!!! уверен вам это - раз плюнуть
Перейти в начало страницы
 
+Цитировать сообщение
AAА
сообщение 14.05.2005 - 19:10

силовик
*******
орден I степениорден I степениорден VII степени
Группа: Участник
Сообщений: 6269
Регистрация: 19.07.2004
Пользователь №: 4192


Цитата(wuuuzzzup @ 14.05.2005 - 18:36)
Дана матрица 7х6. Сформировать одномерный массив, содержащий сумму максимального и минимального элемента каждой строки. Найти и выделить цветом минимальный и максимальный элементы исходной матрицы.

сделайте плз!!! уверен вам это - раз плюнуть

может,я ошибаюсь,но по-моему,в этой теме уже было..в начале где-то
Перейти в начало страницы
 
+Цитировать сообщение
Azart
сообщение 14.05.2005 - 22:55

Частый гость
***

Группа: Участник
Сообщений: 286
Регистрация: 29.09.2003
Пользователь №: 118


99% лаб есть в МИЭТовской общаге, а если их там нет, то за пару тройку батлов пива, при вас их же сделают.
Перейти в начало страницы
 
+Цитировать сообщение
Neket
сообщение 14.05.2005 - 23:21

Звезда форума
******
орден I степениорден II степени
Группа: Участник
Сообщений: 1078
Регистрация: 15.08.2004
Пользователь №: 4385


Цитата(Azart @ 14.05.2005 - 23:56)
99% лаб есть в МИЭТовской общаге, а если их там нет, то за пару тройку батлов пива, при вас их же сделают.

Вот это точно. Чё народ так парится, не пойму.
Перейти в начало страницы
 
+Цитировать сообщение
Guest_AVAL_*
сообщение 15.05.2005 - 01:32
| Быстрая цитата | Сообщение #151


Гости





Народ, как раз париться не хочет. Т.е. даже лень Ж... поднять чтобы до общаги дойти. Зачем, если можно в форуме текст задачи набить, и вот уже по мановению волшебной палочки результат. crazy.gif

Сообщение отредактировано AVAL - 15.05.2005 - 01:33
Перейти в начало страницы
 
+Цитировать сообщение
Azart
сообщение 15.05.2005 - 17:51

Частый гость
***

Группа: Участник
Сообщений: 286
Регистрация: 29.09.2003
Пользователь №: 118


Заведите себе Webmoney. Лабу накатал, а вам за это денюжка и Ж... подымать не надо smile.gif. И леньтяи в кайфе.
Перейти в начало страницы
 
+Цитировать сообщение
Tomcat
сообщение 30.05.2005 - 17:37

Частый гость
***

Группа: Участник
Сообщений: 289
Регистрация: 23.10.2004
Пользователь №: 5106


Есть задание: Четырехканальный мультипроцессор (L=4) загружается семнадцатью работами (N=17),продолжительность выполнения которых указана ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
54 60 60 72 75 78 90 90 96 108 111 120 120 123 135 150 150 (соответственно)

Требуеться найти оптимальный (в смысле минимума Т(времени)) план распределения работ по каналам.


Никто не может помочь? Разумеется,небесплатно.



Язык программирования: Pascal

Сообщение отредактировано Tomcat - 30.05.2005 - 18:29
Перейти в начало страницы
 
+Цитировать сообщение
Turbo
сообщение 31.05.2005 - 08:42

`°¤,¸,ø¤°`°¤,¸
*****
орден IV степени
Группа: Участник
Сообщений: 971
Регистрация: 28.09.2003
Пользователь №: 30


Цитата(Tomcat @ 30.05.2005 - 17:38)
Есть задание: Четырехканальный мультипроцессор (L=4) загружается семнадцатью работами (N=17),продолжительность выполнения которых указана ниже:
1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17
54  60  60  72  75  78  90  90  96  108  111  120  120  123  135  150  150 (соответственно)

Требуеться найти оптимальный (в смысле минимума Т(времени)) план распределения работ по каналам.
Никто не может помочь? Разумеется,небесплатно.
Язык программирования: Pascal


Эта задача решается либо полным перебором либо динамическим программированием когда значения времен маленькие, как в данном случае, но так как число задач всего 17, то можно решать и полным перебором, если 4^17=17179869184 операций в худшем случае считается нормой.
Перейти в начало страницы
 
+Цитировать сообщение
Tomcat
сообщение 31.05.2005 - 14:51

Частый гость
***

Группа: Участник
Сообщений: 289
Регистрация: 23.10.2004
Пользователь №: 5106


Цитата(Turbo @ 31.05.2005 - 08:43)
Эта задача решается либо полным перебором либо динамическим программированием когда значения времен маленькие, как в данном случае, но так как число задач всего 17, то можно решать и полным перебором, если 4^17=17179869184 операций в худшем случае считается нормой.




А сам алгоритм перебора как должен выглядить? Я вот вообще понять не могу.... g.gif
Перейти в начало страницы
 
+Цитировать сообщение
Turbo
сообщение 31.05.2005 - 16:15

`°¤,¸,ø¤°`°¤,¸
*****
орден IV степени
Группа: Участник
Сообщений: 971
Регистрация: 28.09.2003
Пользователь №: 30


Цитата(Tomcat @ 31.05.2005 - 14:52)
А сам алгоритм перебора как должен выглядить? Я вот вообще понять не могу.... g.gif[/quote]

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

Цитата
#define NL 17
int initmas[NL] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
int res[NL];
int min = INFIN;

void go(int depth)
{
int i, j, max;
if (depth == 0)
{
  max = 0;
  for (i = 0; i < 4; i++)
  {
  sum = 0;
  for (j = 0; j < NL; j++)
    if (res[j] == i)
    sum += initmas[j];
  if (sum > max)
    max = sum;
  }
  if (max < min)
  min = max;
  return;
}
for (i = 0; i < 4; i++)
{
  res[depth-1] = i;
  go(depth-1);
}
}

int main()
{
go(17);
                printf("%d\n", min);
return 0;
}


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

Код
#define NL 17
int initmas[NL] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
int res[NL];
int min = INFIN;


Далее организуем рекурсивную функцию которая когда до ходит до макисимльной глубины (17) считает суммарное время на каждом из процессоров, берет максимум и сравнивает с глобальным минимумом, если меньше, то минимуму присваиваем максимум.

Код
if (depth == 0)
{
 max = 0;
 for (i = 0; i < 4; i++)
 {
 sum = 0;
 for (j = 0; j < NL; j++)
   if (res[j] == i)
   sum += initmas[j];
 if (sum > max)
   max = sum;
 }
 if (max < min)
 min = max;
 return;
}


Основное тело рекурсивной функции - это цикл от 0 до 3 (номера процессоров) - присвиваем вспомогательному массиву с индексом глубины res[depth-1] номер процессора на котором выполняется эта задача. и далее вызываем эту же функцию со значением глубины на единицу меньше go(depth-1).

Код
for (i = 0; i < 4; i++)
{
 res[depth-1] = i;
 go(depth-1);
}


Можно обойтись и без рекурсии, но так проще.
Перейти в начало страницы
 
+Цитировать сообщение
Benderos.
сообщение 31.05.2005 - 21:48

Частый гость
***

Группа: Участник
Сообщений: 101
Регистрация: 24.09.2004
Пользователь №: 4786


НАРОД! Кто нибудь шарит в ассемблере Моторолы МС68000? Прошу откликнитесь - есть 4 лажовых вопроса - задания. ГОРЮ!
Перейти в начало страницы
 
+Цитировать сообщение
AAА
сообщение 31.05.2005 - 21:57

силовик
*******
орден I степениорден I степениорден VII степени
Группа: Участник
Сообщений: 6269
Регистрация: 19.07.2004
Пользователь №: 4192


Цитата(Benderos. @ 31.05.2005 - 22:49)
НАРОД! Кто нибудь шарит в ассемблере Моторолы МС68000? Прошу откликнитесь - есть 4 лажовых вопроса - задания. ГОРЮ!

хм,интересно,кто же это ты=)) у нас тоже самое.паяльники рулят!=)
Перейти в начало страницы
 
+Цитировать сообщение
Benderos.
сообщение 31.05.2005 - 21:59

Частый гость
***

Группа: Участник
Сообщений: 101
Регистрация: 24.09.2004
Пользователь №: 4786


Я из группы ИМЭ45 - поток Защита информации ....... к завтраму надо сделать, а никто ничего не знат. Вот ищу спасителя.
Перейти в начало страницы
 
+Цитировать сообщение
Tomcat
сообщение 1.06.2005 - 00:21

Частый гость
***

Группа: Участник
Сообщений: 289
Регистрация: 23.10.2004
Пользователь №: 5106


Цитата(Turbo @ 31.05.2005 - 16:16)
Можно обойтись и без рекурсии, но так проще.




Эх...с рекурсией до этого дела ни разу не встречался...тем более в Паскале..
ёмаё...ну я и влип... wacko.gif
Перейти в начало страницы
 
+Цитировать сообщение

21 страниц V  « < 6 7 8 9 10 > » 
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 8.01.2025 - 06:31