Помощь с лабами |
Здравствуйте, гость ( Вход | Регистрация )
Помощь с лабами |
23.09.2004 - 22:14
Вставить ник | Быстрая цитата | Сообщение
#1
|
|
силовик Группа: Участник Сообщений: 6269 Регистрация: 19.07.2004 Пользователь №: 4192 |
НАРОД ПЛИЗ СДЕЛАЙТЕ ПРОГУ!!!Обещаю пива!!!!=)
Так вот-Дана целочисленная матрица.Наёти матрицу из 0 и 1,элемент которой b(ij)=1,если элемент матрицы является МАКС или МИН всех четырёх своих соседей!! Сообщение отредактировано алексей - 13.10.2004 - 08:11 |
|
|
24.09.2004 - 09:19
Вставить ник | Быстрая цитата | Сообщение
#2
|
|
`°¤,¸,ø¤°`°¤,¸ Группа: Участник Сообщений: 971 Регистрация: 28.09.2003 Пользователь №: 30 |
Код /* Наслаждайся ^_^ */
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> /* N и M > 2 */ #define N 10 #define M 10 int mas[N][M]; int res[N][M]; int main () { int i, j; for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { mas[i][j] = rand()%100 - 50; printf("%3d ",mas[i][j]); } printf("\n"); } /* Центр */ for (i = 1; i < N-1; i++) { for (j = 1; j < M-1; j++) { if (mas[i][j] > mas[i-1][j] && mas[i][j] > mas[i+1][j] && mas[i][j] > mas[i][j+1] && mas[i][j] > mas[i][j-1]) res[i][j] = 1; else if (mas[i][j] < mas[i-1][j] && mas[i][j] < mas[i+1][j] && mas[i][j] < mas[i][j+1] && mas[i][j] < mas[i][j-1]) res[i][j] = 1; else res[i][j] = 0; } } /* Края */ for (i = 1; i < N-1; i++) { if (mas[i][0] > mas[i][1] && mas[i][0] > mas[i+1][0] && mas[i][0] > mas[i-1][0]) res[i][0] = 1; else if (mas[i][0] < mas[i][1] && mas[i][0] < mas[i+1][0] && mas[i][0] < mas[i-1][0]) res[i][0] = 1; else res[i][0] = 0; } for (i = 1; i < N-1; i++) { if (mas[i][M-1] > mas[i][M-2] && mas[i][M-1] > mas[i+1][M-1] && mas[i][M-1] > mas[i-1][M-1]) res[i][M-1] = 1; else if (mas[i][M-1] < mas[i][M-2] && mas[i][M-1] < mas[i+1][M-1] && mas[i][M-1] < mas[i-1][M-1]) res[i][M-1] = 1; else res[i][M-1] = 0; } for (i = 1; i < M-1; i++) { if (mas[0][i] > mas[0][i-1] && mas[0][i] > mas[0][i+1] && mas[0][i] > mas[1][i]) res[0][i] = 1; else if (mas[0][i] < mas[0][i-1] && mas[0][i] < mas[0][i+1] && mas[0][i] < mas[1][i]) res[0][i] = 1; else res[0][i] = 0; } for (i = 1; i < M-1; i++) { if (mas[N-1][i] > mas[N-1][i-1] && mas[N-1][i] > mas[N-1][i+1] && mas[N-1][i] > mas[N-2][i]) res[N-1][i] = 1; else if (mas[N-1][i] < mas[N-1][i-1] && mas[N-1][i] < mas[N-1][i+1] && mas[N-1][i] < mas[N-2][i]) res[N-1][i] = 1; else res[N-1][i] = 0; } /* Углы */ if (mas[0][0] > mas[0][1] && mas[0][0] > mas[1][0]) res[0][0] = 1; else if (mas[0][0] < mas[0][1] && mas[0][0] < mas[1][0]) res[0][0] = 1; else res[0][0] = 0; if (mas[0][M-1] > mas[1][M-1] && mas[0][M-1] > mas[0][M-2]) res[0][M-1] = 1; else if (mas[0][M-1] < mas[1][M-1] && mas[0][M-1] < mas[0][M-2]) res[0][M-1] = 1; else res[0][M-1] = 0; if (mas[N-1][0] > mas[N-1][1] && mas[N-1][0] > mas[N-2][0]) res[N-1][0] = 1; else if (mas[N-1][0] < mas[N-1][1] && mas[N-1][0] < mas[N-2][0]) res[N-1][0] = 1; else res[N-1][0] = 0; if (mas[N-1][M-1] > mas[N-1][M-2] && mas[N-1][M-1] > mas[N-2][M-1]) res[N-1][M-1] = 1; else if (mas[N-1][M-1] < mas[N-1][M-2] && mas[N-1][M-1] < mas[N-2][M-1]) res[N-1][M-1] = 1; else res[N-1][M-1] = 1; /* Вывод на экран */ printf("\n"); for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { printf("%3d ", res[i][j]); } printf("\n"); } printf("\n"); return 0; } |
|
|
24.09.2004 - 21:00
Вставить ник | Быстрая цитата | Сообщение
#3
|
|
силовик Группа: Участник Сообщений: 6269 Регистрация: 19.07.2004 Пользователь №: 4192 |
Готов тебе ноги целовать
Я в долгу...Круто...Надо будет время от времени таким хелпом пользоватся СПАСИБО!!! |
|
|
4.10.2004 - 13:32
Вставить ник | Быстрая цитата | Сообщение
#4
|
|
Продвинутый новичок Группа: Участник Сообщений: 79 Регистрация: 18.04.2004 Пользователь №: 3260 |
Плиз помогите мне тоже!!! Задача такова:составить программу описывающию список преподователей их N чел(задается с клавиатуры) вида:имя преподователя,предмет,разряд,и выводящ. на экран всех преподователей по нужному предмету в порядке следования разрядов. Очень надо....
Сообщение отредактировано Coldir - 4.10.2004 - 16:34 |
|
|
4.10.2004 - 13:56
Вставить ник | Быстрая цитата | Сообщение
#5
|
|
`°¤,¸,ø¤°`°¤,¸ Группа: Участник Сообщений: 971 Регистрация: 28.09.2003 Пользователь №: 30 |
Если хотите помощи то хотя бы не ленитесь человеческим языком описать условие задачи.
|
|
|
4.10.2004 - 16:37
Вставить ник | Быстрая цитата | Сообщение
#6
|
|
Продвинутый новичок Группа: Участник Сообщений: 79 Регистрация: 18.04.2004 Пользователь №: 3260 |
Turbo помоги мне плиззз я все исправил
|
|
|
4.10.2004 - 20:37
Вставить ник | Быстрая цитата | Сообщение
#7
|
|
`°¤,¸,ø¤°`°¤,¸ Группа: Участник Сообщений: 971 Регистрация: 28.09.2003 Пользователь №: 30 |
|
|
|
4.10.2004 - 23:08
Вставить ник | Быстрая цитата | Сообщение
#8
|
|
`°¤,¸,ø¤°`°¤,¸ Группа: Участник Сообщений: 971 Регистрация: 28.09.2003 Пользователь №: 30 |
Ладно пишу как я понял:
Формат входных данных: Данные содержаться в файле input.txt На первой строчке содержиться число 0<N<1000 равное числу преподавателей, на следующих N строчках задано описание преподователей. Фамилия преподавателя, предмет, разряд. После этого идет число 0 <t < 1000 равное числу последующихзапросов. Далее идет t запросов по предметам. Пример входного файла: 7 Петров история 6 Иванов история 4 Петров математика 3 Козлов математика 4 Соловьев физика 8 Воробьев физика 4 Сидоров история 5 3 история физика математика Пример выходного файла: история: Иванов 4 Сидоров 5 Петров 6 физика: Воробьев 4 Соловьев 8 математика: Петров 3 Козлов 4 Текст программы: Код #include <stdio.h>
#include <stdlib.h> #include <string.h> #include <math.h> #define NL 1000 struct prepod { char name[128]; char pr[128]; int raz; } mas[NL]; int mCmp(const void *arg1, const void* arg2) { return ((struct prepod *)arg1)->raz - ((struct prepod *)arg2)->raz; } int main () { int i, N, t, j; FILE *in, *out; char tmp[128]; in = fopen("input.txt", "rt"); out = fopen("output.txt", "wt"); fscanf(in, "%d", &N); for (i = 0; i < N; i++) fscanf(in, "%s %s %d", mas[i].name, mas[i].pr, &mas[i].raz); qsort(mas, N, sizeof(struct prepod), mCmp); fscanf(in, "%d", &t); for (i = 0; i < t; i++) { fscanf(in, "%s", tmp); fprintf(out, "%s:\n", tmp); for (j = 0; j < N; j++) { if (!strcmp(tmp, mas[j].pr)) fprintf(out, "%s %d\n", mas[j].name, mas[j].raz); } fprintf(out, "\n"); } fclose(in); fclose(out); return 0; } |
|
|
5.10.2004 - 00:37
Вставить ник | Быстрая цитата | Сообщение
#9
|
|
Частый гость Группа: Участник Сообщений: 239 Регистрация: 13.10.2003 Пользователь №: 412 |
упс... опоздал...
Код #include <string>
#include <vector> #include <iostream> #include <algorithm> using namespace std; struct teacher { string name; string subject; unsigned rank; bool operator < ( const teacher& t )const { if ( subject < t.subject ) return true; if ( subject > t.subject ) return false; // subject == t.subject if ( rank < t.rank ) return true; if ( rank > t.rank ) return false; // subject == t.subject && rank == t.rank return name < t.name; } }; struct equal_subject { equal_subject( const string& s ) : m_subject( s ) {} bool operator()( const teacher& t ) const { return t.subject == m_subject; } private: string m_subject; }; int main() { vector<teacher> teachers_array; char enter = 'y'; //cout << "Are you want enter teacher data (Y/N)"; //cin >> enter; while ( enter == 'Y' || enter == 'y' ) { teacher tmp; cout << "Enter teacher data " << endl; cout << "Name: "; cin >> tmp.name; cout << "Subject: "; cin >> tmp.subject; cout << "Rank: "; cin >> tmp.rank; teachers_array.push_back( tmp ); cout << "Are you want enter teacher data (Y/N)"; cin >> enter; } sort( teachers_array.begin(), teachers_array.end() ); for ( vector<teacher>::const_iterator it = teachers_array.begin(); it != teachers_array.end(); it++ ) cout << "Subject: " << it->subject << endl << "Rank: " << it->rank << endl << "Name: " << it->name << endl << endl; string subject; cout << "Enter subject: " << std::endl; cin >> subject; vector<teacher>::const_iterator start = find_if( teachers_array.begin(), teachers_array.end(), equal_subject( subject ) ); vector<teacher>::const_reverse_iterator finish = find_if( teachers_array.rbegin(), teachers_array.rend(), equal_subject( subject ) ); for ( vector<teacher>::const_iterator it = start; it != finish.base(); it++ ) cout << "Subject: " << it->subject << endl << "Rank " << it->rank << endl << "Name" << it->name << endl << endl; } |
|
|
7.10.2004 - 23:18
Вставить ник | Быстрая цитата | Сообщение
#10
|
|
Продвинутый новичок Группа: Участник Сообщений: 79 Регистрация: 18.04.2004 Пользователь №: 3260 |
Огромное вам спасибо !!! Вы настоящие добрые люди
|
|
|
8.10.2004 - 07:57
Вставить ник | Быстрая цитата | Сообщение
#11
|
|
силовик Группа: Участник Сообщений: 6269 Регистрация: 19.07.2004 Пользователь №: 4192 |
Вот-вот.Спасибо
|
|
|
Guest_Enclave_* |
8.10.2004 - 10:33
| Быстрая цитата | Сообщение
#12
|
Гости |
^_^ Скоро тут увидим курсовики
|
|
|
17.10.2004 - 15:43
Вставить ник | Быстрая цитата | Сообщение
#13
|
|
Частый гость Группа: Участник Сообщений: 286 Регистрация: 29.09.2003 Пользователь №: 118 |
А может кто и прогу по производственной практике мне напишет???
Пывом залью |
|
|
17.10.2004 - 20:22
Вставить ник | Быстрая цитата | Сообщение
#14
|
|
Продвинутый новичок Группа: Участник Сообщений: 92 Регистрация: 1.03.2004 Пользователь №: 2539 |
Пыво на хлеб не намажешь Подходи к вопросу с деловой стороны.
|
|
|
17.10.2004 - 23:19
Вставить ник | Быстрая цитата | Сообщение
#15
|
|
Продвинутый новичок Группа: Участник Сообщений: 61 Регистрация: 4.02.2004 Пользователь №: 2163 |
Народ! Наверняка кто-нибудь знает как работать с контекстным меню мыши в С++. Например, нужно при нажатии на mouse 3 чтобы вылезала менюшка настроенная мной. Вот. Если кто знает подскажите пожалуйса как это сделать.
|
|
|
17.10.2004 - 23:59
Вставить ник | Быстрая цитата | Сообщение
#16
|
|
void* Группа: Участник Сообщений: 1631 Регистрация: 29.09.2003 Пользователь №: 45 |
Событие вяжи на соответствующий OnMouseUp
Как-то так: CMenu Menu; Menu.LoadMenu(IDC_MYMENU); CMenu* pPopupMenu = Menu.GetSubMenu(0); pPopupMenu->TrackPopupMenu(<не помню точно, но сюда идут X и Y>); IDC_MYMENU: представляет собой 1 пункт меню, в нем вложенная субменююшка. Если пытаться использовать собсно само меню, а не его подменю, то будет глючить(но проверь, мб заведется, хотя вряд-ли) |
|
|
18.10.2004 - 22:23
Вставить ник | Быстрая цитата | Сообщение
#17
|
|
Продвинутый новичок Группа: Участник Сообщений: 61 Регистрация: 4.02.2004 Пользователь №: 2163 |
Спасибо. Попробую разобраться! Вот еще вопросик. Туповат он конечно, но я запарился уже. Например я создал File->New->Application, далее ничего не добавляю на форму, ничего не пишу(собственно это не имеет смысла). Запускаю прогу-на экране пустая форма. Так? КАК СДЕЛАТЬ ЧТОБЫ ПРИ ЗАПУСКЕ ПРОГИ НЕ БЫЛА ВИДНА ФОРМА?
|
|
|
18.10.2004 - 22:41
Вставить ник | Быстрая цитата | Сообщение
#18
|
|
void* Группа: Участник Сообщений: 1631 Регистрация: 29.09.2003 Пользователь №: 45 |
Э... так нчинать надо было с того, что ты в билдере кодишь.... Не факт, что вышепреведенное заведется в билдере... А инфы относительно винапи ты в билдеровском хелпе точно не найдешь(там вообще что-либо дельное найти трудно). Но попробуй... Мож повезет.... Как в билдере с менюшками - вообще большой вопрос....
ЗЫ. Форму убрать - поставь в FALSE свойство Visible |
|
|
19.10.2004 - 11:39
| Быстрая цитата | Сообщение
#19
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Убери форму из списка создания Project-Options
или поставь у формы Visible=False |
|
|
19.10.2004 - 12:43
Вставить ник | Быстрая цитата | Сообщение
#20
|
|
Продвинутый новичок Группа: Участник Сообщений: 61 Регистрация: 4.02.2004 Пользователь №: 2163 |
Дело в том что я пробовал уже ставить Visible=false пробовал и Hide ставить. НИЧЕГО НЕ ПОМОГАЕТ!!! Форма все равно остается на экране. Если у кого стоит билдер не поленитесь попробовать убрать ее, это действительно интересно. В Visual Basic'е и в Дельфях вроде все работает.
|
|
|
Текстовая версия | Сейчас: 2.01.2025 - 20:08 |