Решение лабораторных, контрольных и т.д. на С++

  • Автор темы European
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Драсте = )

не могу разобратся....

дали задание: Задан двумерный массив размером N*N элементов. Отразить элементы относительно главной диагонали. Дополнительные массивы не использовать. при чем:
• розмерность матрицы должна вводитися при выполнении программы;
• само решение задачи должно быть оформлено в виде функции, которой передается матриця и её розмерность.


на сколько я понимаю в программе должны быть использованы указатели, сначала я написал алгоритм решения задачи без указателей, а потом с ними,причем программа без указателей 100% работоспособна, а с указателями нет, вот что вышло без указателей:

Код:
#include <iostream.h>
#include <conio.h>
//#include <stdlib.h> //
void main()
{
int mas[100][100], N, i, j, temp, p = 0;
clrscr();
do {
cout << " VVESTI RAZMERNOCT' matricu :";
cin >> N;
} while ((N < 2) || (N > 100));
cout << "mass: " << endl;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
mas[i][j] = p++;
cout <<' '<< mas[i][j];
}
cout << endl;
}
for (i = 1; i < N; i++)
for (j = 0; j < i; j++) {
temp = mas[i][j];
mas[i][j] = mas[j][i];
mas[j][i] = temp;
}
cout << endl << "mas2" << endl;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
cout <<' '<< mas[i][j];
}
cout << endl;
}
getch();
}


а вот программа с указателями, дело в том что я не могу правильно записать
Код:
for (i = 1; i < N; i++)
for (j = 0; j < i; j++) {
temp = mas[i][j];
mas[i][j] = mas[j][i];
mas[j][i] = temp;
}
с указателями..... помогите пожалуйста... подскажите как исправить ошибку....
Код:
#include <iostream.h>
#include <conio.h>
#include <alloc.h>
void zap(int *,int);
int main(){
int *q; //pokazatel na massiv pokazateley
int x,y,s; //ryad stolbec, razmernost,4uslo dlya zapolneniya
cout<<"Vvedite razmernost ot 2 do 999:"<<endl;
do{cin>>s;}while ((s<2)||(s>999));
q=(int*)malloc(sizeof(int)*s); //vudelenie pamyatu
zap(q,s);
return 0;
}
void zap(int *a,int s) {
int l,r,temp,z=0;
cout<<"na4alnuy massiv:"<<endl;
for(l=0; l<s; l++){
for(r=0; r<s; r++){
*a=z++;
cout<<' '<<*a;
}cout<<endl;
}
for(a=0,l=1;l<s;l++,a++){
for(r=0;r<l;r++){
temp=a;
a=a+l+r;
a=temp;
}
cout<<endl;
}
for(a=0,l=0;l<s;l++,a++){
for(r=0;r<s;r++){
cout<<*a;
}		cout<<endl;
}getch();
}
 
F

Folderx

gamecreator , да подожди может он тебе заплатит как говорил ;)

у меня версия Freeware
 
F

Folderx

Вводиться предложение ввиде строки. Слов в предложении разделяются между собой пробелом или запятой. Для решения задачи применять функции из библиотеки string.h.

Напечатать все слова, которые совпадают с ее первым словом.

ok ;)
 

Вложения

  • slova_v_stroke.c
    1,5 КБ · Просмотры: 567
P

patrick87

Верно ли, что точки пересечения параболы y=ax^2 и прямой px+qy+2=0 лежат в квадрате со сторонами паралельными осям координат, с центром (0;0) и длинной равной 26?
хелп...=(
 
O

opium

Помогите плз! Задача не очень трудная:

Муха летит вдоль прямой. Если нанести на эту прямую координаты, то можно сказать, что в 0-й момент времени муха пролетает точку с координатой 0 и летит в положительном направлении со скоростью V. Муха может менять свою скорость, однако ускорение мухи не может по модулю превышать величины A, в частности, муха не может мгновенно остановиться. Максимальная скорость мухи не может превышать по модулю величины W.

Известно, что в момент времени T по прямой ударит мухобойка, которая полностью накроет отрезок от точки C до точки D. Если муха в этот момент окажется на этом отрезке, она погибнет.

Напишите программу, которая определит, есть ли у мухи шанс спастись, и если есть, то выведет, что должна муха для этого делать.

Формат входных данных

Во входном файле заданы числа V, W, A, T, C, D. Все числа целые. 0≤V≤W≤1000, 0≤A≤1000, 0<T≤1000, -1000000≤C≤D≤1000000.

Формат выходных данных

Если муха может спастись, выведите, как она должна для этого лететь. Для этого выведите последовательность команд для мухи. Количество команд не должно превышать 100. Каждая команда задается двумя числами Ti, Ai, которые обозначают, что в течение времени Ti муха должна лететь с ускорением Ai. Ti и Ai не обязаны быть целыми, Ti должны быть положительны (не могут быть равны 0), сумма всех Ti должна быть равна T с точностью до 10-6.

Если, в рамках указанных ограничений, муха спастись не сможет, в выходной файл выведите одно число -1 (минус 1).

Примечания

Муха может сначала снизить скорость до 0, а затем полететь в обратную сторону (см. примеры).

Если в момент времени T муха окажется на концах отрезка, т.е. в точке C или D, она все равно погибнет.
 
S

sasha45

Помогите пожалуйста. Очень срочно нужна помощь людей, знающих С/С++. Нужно написать программу в которой:
Задан текст, содержащий произвольное количество строк, в котрых отдельные слова могу разделяться одним или несколькими пробелами и знаками пунктуации (перенос слов не используется). Сформировать новый текст, который является результатом следующего преобразования:упорядочить в каждой строке слова в алфавитном порядке по первой букве.

В общем у меня написано все, но функция обработки не хочет работать. Посмотрите пожалуйста:

Код:
char **obrabotka(char **text, int n) // n - кол-во строк в тексте. **text - введенный текст
{
char **res;	  // переменная под результат
char **tmp;	  // для работы с исходным текстом
int j;
int k,l,z;

struct words
{
char *p;	 // указатель на первую букву слова 
int len;	 // количество букв в слове
}
words[80];		

memset(&words, '\0', sizeof(words));  // обнуляем p==NULL - элемент
// не использовался

tmp=text;
for(j=0;j<n;j++);
{
while((**tmp!='\0' && (k<80)))  // пока не конец строки
// и в строке меньше 80 слов

{
if(words[k].p==NULL)		 
*words[k].p=**tmp;
switch (**tmp)			  // проверка на разделители
{
case ' ':
case '.':
case ',':
case ';':
case '\n':
case '!':
case '#':
case '@':
case '?':
case '/':
case '>':
case '<':
case ':':
case '$':
case '(':
case ')':
case '*':
case '&':
case '-':
case '=':
case '+':
words[k].len=*tmp-words[k].p; // разница между указателями - длина
// слова. tmp указывает на начало след. слова
// или на конец строки
k++;		 // переходим к след. слову
break;
}
tmp++;
}
words[k].len=*tmp-words[k].p;

printf(" %u слов найдено в строке \n", k+1);

// Сортировка
for(;k>0;k--)	  // k - максимальное значение элементов массива

{
for(l=0;l<l;l++)
{
if(strncmp(words[l].p,words[l+1].p,MIN(words[l].len,words[l+1].len))>0)
{
*tmp=words[j].p;
z=words[l].len;	 //перестановка элемента
words[l].p=words[l+1].p;
words[l].len=words[l+1].len;
words[l+1].p=*tmp;
words[l+1].len=z;
}
}
}
res=(char**)calloc(strlen(*text)+1,1);	// выделение памяти под результат


for(k=0,tmp=res;words[k].p!=NULL;k++);
{
while((words[k].len--)>0)
**(tmp++)=*(words[k].p++);
**(tmp++)=*(words[k].p)?*(words[k].p): ' '; //копируем оригинальный разделитель 
//слов

}
**tmp='\0';  // записываем конец строки
return res;  // возвращаем результат
}
}

Помогите пожалуйста
 
F

Folderx

opium , ускорение там какую роль играет и что значит муха может сбросить скорость до нуля и полететь в обратную сторону, как это она может сбросить скорость если 0≤V≤W≤1000, 0≤A≤1000 ?
 
T

Tanzilit

Народ помогите плиз...Нужно написать прогу на Cpp :
Алгоритм поиска минимального остовного дерева Дейкстры-Прима
 
G

Guest

Люди добрые! Помигите сдать экзамен плиз-з-з. Нужно написать код программ на С++:
1. Деревья двоичного поиска
2. Кодировщик и декодировщик по Хафману
3. Реализация абстрактного типа данных в двунаправленный список с помощью указателей.
Желательно хоть немного пояснений по ходу программы.
Может кто такое задание уже выполнял или видел код в сети? Очень прошу, помогите.
 
H

Henry

Здравствуйте.
У меня экзамен уже через 3 дня, а мне нужно 2 работы по С++ сделать.
Заплачу WMR.

Требуется написать 2 работы на С++. (описание ниже)
Программы должны запускаться на вижал студио.
Очень желательно, написать программы по системе "не чего лишнего" и сделать их с подробными комментариями внутри в стиле count >> "bugaga" >> endl; {этот оператор делает это вывод bugaga}

О цене договоримся. :)
Кто готов взяться стучите в асю: 2три61ноль2 или на почту (dmitry1ноль26@gmail.com), или в приват на форуме.

Описание №1 задачи:
Есть текстовый файл, в него записаны любые слова. Требуется считать эти слова из текстового файла и отсортировать их в массив по частоте употребления.

Описание №2 задачи:
Апгрейдить задачу №1 используя классы. Т.е. тож самое что и первая задача, только с использованием классов.
 
P

Palladin

<!--QuoteBegin-Henry+22:01:2008, 14:46 -->
<span class="vbquote">(Henry @ 22:01:2008, 14:46 )</span><!--QuoteEBegin-->count >> "bugaga" >> endl;
[snapback]94526" rel="nofollow" target="_blank[/snapback]​
[/quote] Действительно БУГАГА:) нада так

cout<<"bugaga"<<endl;
 
O

opium

Помогите пожалуйста! Я просил помощи у gamecreator, но он отмалчивается! Так что расчитываю на помощь здесь! А вот и задача:

В тредевятом царстве любой телефонный номер состоит из m цифр, причем первая цифра номера соответствует городу(телефонный номе не может начинаться с нуля и, как не трудно докадаться, городов в триДЕВЯТОМ царстве ровно девять). Баба Яга получила список всех своих разговоров за целый год, и хочет п онему узнать, в каком городе у неё было больше всего телефонных собеседников.

Входные данные: сначала вводится длина телефонного номера m,(2>=m<=9), затем количество разговоров n (n<=7000), потом идут телефонные номера:m-значные числа в количестве n штук.

Выходные данные% Нужно вывести число от 1 до 9 - номер города, в котором число собеседников максимально.(Если таких городов несколько, то вывести номер любого из них)

Прошу, помогите!
 
M

morpheus

<!--QuoteBegin-opium+23:01:2008, 21:15 -->
<span class="vbquote">(opium @ 23:01:2008, 21:15 )</span><!--QuoteEBegin-->В тредевятом царстве любой телефонный номер состоит из m цифр, причем первая цифра номера соответствует городу(телефонный номе не может начинаться с нуля и, как не трудно докадаться, городов в триДЕВЯТОМ царстве ровно девять). Баба Яга получила список всех своих разговоров за целый год, и хочет п онему узнать, в каком городе у неё было больше всего телефонных собеседников.
[snapback]94785" rel="nofollow" target="_blank[/snapback]​
[/quote]
OMG .... какую траву надо курить что бы такое придумать


задача сводиться к тому что
1. Составляеться массив из CountByCode( 1...9 ) - кол-во звонков по коду города
2. Проходимся по всем m-значным номерам и их количество (n) вносим в массив CountByCode относительно первой цифры m-значног номера
3. НА выходе получаем CountByCode( 1...9 ) в котором будут содержаться общее кол-во звонком относительно кода города
4. Сортируем массив CountByCode
5. Выводим первый элемент CountByCode

всё
 
O

opium

А код не мог бы подбросить? Ну или наброски?
 
M

morpheus

Для: opium
неа, Сей под рукой нету ...

ты ж Хакер - для тебя Си роднее русского :)
 
O

opium

помагите плз!

впринцепи теории не надо! Просто код
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!