| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > парочка простеньких задачек по с++ |
| Автор: тобер 10.11.2005, 23:59 | ||
| магёт быть кто нить подскажет... №1 в каждом столбце и каждой строке матрицы а(n,n) содержиться строго по одному нулевому элементу. перестановкой строк добиться расположения всех нулей по главной диагонали матрицы. вот что я по быстрому наклепал:
#include <conio.h> int i=0; int n=0; int j=0; int t=0;int t1=0;int buf=0; int PrintArray(int array[100][100], int x) { for (i=0;i<x;i++) { printf(" \n"); for (j=0;j<x;j++) { printf("%d ",array[i][j]); } }return 0; }; void main() { int a[100][100]; printf("Vvedite razmernost massivov \n"); scanf("%d",&n); // Вводим исходный массив A printf("Vvodim massiv A: \n"); for (i=0;i<n;i++) for (j=0;j<n;j++) { printf("vvedite element massiva: \n"); scanf("%d",&a[i][j]); } PrintArray(a,n); printf("\n"); for (i=0;i<n;i++) for (j=0;j<n;j++) { if(a[i][j]=0) {t=j;t1=i; for (i=0;i<n;i++) j=0;j++; buf=a[t1][j]; a[t1][j]=a[t][j]; a[t][j]=buf; } } PrintArray(a,n); } строки не помню ваабще... №2 В заданном тексте найти самое длинное слово и самую длинную фразу. №3 в тексте пропущены некоторые слова и словосочетания. они есть в отдельном списке в том порядке в котором должны быть вставлены. места вставки отмечены символом $ . откорректировать текст. |
| Автор: nikitao 11.11.2005, 20:08 |
| тобер По поводу 2 и 3.Что непонятно?Если все ,то это в центр помощи,если нет ,то предложите свои идеи,а с проблемными местами мы вам поможем |
| Автор: тобер 11.11.2005, 22:42 |
| а по поводу #1? |
| Автор: nikitao 11.11.2005, 23:18 | ||
Лично я не понял ,что тебе надо в 1.Ты хочешь что бы мы проверили правельность кода? |
| Автор: BreakPointMAN 11.11.2005, 23:53 |
| в #2 можно функцией strtok воспользоваться, например... в #3 тоже не особо сложно... есть строка с исходным текстом, есть массив строк с словами для вставки в первую строку... выделяешь память, достаточную для того, чтобы разместить там результат... заводишь переменную-счетчик вставленных слов... потом бежишь по строке с исходным текстом, ищешь очередной "$"... натыкаешься - в строку с результатом дописываешь часть строки с исходным текстом до символа "$", затем ту строку из массива, которая соответствует текущему значению переменной-счетчика... увеличиваешь счетчик, если строки из массива не кончились... и бежишь в поисках символа "$" дальше, но не с самого начала, а со следующей позиции... вот... примерно так... ну + проверки там всякие... |
| Автор: qwartal 12.11.2005, 22:20 |
| Доброго времени суток всем!!!! Друзья помогите пожалуйста решить задачу. Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе включают: * номер автобуса; * фамилию и инициалы водителя; * номер маршрута. Прошу написать хотя бы начало данной задачи. Заранее благодарен! С уважением, Денис. |
| Автор: nikitao 12.11.2005, 22:23 |
| qwartal,одна тема-один вопрос!!!! |
| Автор: тобер 13.11.2005, 00:14 |
| в номер 1 она не пашет! прошу подсказать ошибку(правда чувствую что там ОШИБКА) С strtok псб в мсднку закинул мысль пошла... =) псб (я ж говорил что по строкам ни одной функции не помню) а с третьей там запара какая-то, там енто всё ишо динамически приходится (а я этого страсть как не люблю)и не идёт млин мысля хоть ты тресни... подскажите с третьей плзззззззз!!! Добавлено @ 00:23 2 BreakPointMAN с третьей лично у мя не так всё просто пришлось создать ишо один массив строк... постепенно вырезать из первого и вставлять в новый... дабы в изначальном каждый $ оставался первым каждый раз... может есть функция прямой замены символа на строку? помоги... |
| Автор: BreakPointMAN 13.11.2005, 00:44 |
| тобер, как именно - в каком виде - у тебя задаются исходные данные в 3 задаче? |
| Автор: тобер 13.11.2005, 02:55 |
| BreakPointMAN да как угодно я чуть что сам доделаю можно считывать из файла, можно вводить с клавы ..., можно ваще константной строкой сразу задать вставляемые фразы я так думаю лучше всего будет ввиде массива строк делать |
| Автор: darkart 13.11.2005, 11:43 | ||
По поводу первой:
|
| Автор: тобер 13.11.2005, 13:50 |
| darkart большое спасибо, оказалось что мне для счастья не хватало буквально одной строчечки : while(j<n&&Matrix[j][i]!=0)j++; |
| Автор: BreakPointMAN 13.11.2005, 14:48 | ||
| #3 лови... сразу предупреждаю - не проверял!!! возможно, работает криво или вообще не работает... простора для оптимизации - море. лень было ... но идея, я думаю, понятна будет. если непонятна - спрашивай...
|
| Автор: тобер 13.11.2005, 14:55 |
| BreakPointMAN darkart nikitao всем БОЛЬШОЕ СПАСИБО!!! |
| Автор: darkart 13.11.2005, 14:59 |
| Всегда пожалуйста |