Форум программистов, компьютерный форум CyberForum.ru

матрицы и строки =( - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread140478.html
Сортировка разделением. Медиана - среднее между минимальным и максимальным значениями элементов массива. Относительно этого значения разбить массив на две части (с использованием вспомогательных массивов). помогите кто знает пожалуйста, турбо си
C++ Классы Привет. Помогите пожалуйста с задажей и если можно поскорей.Вот условие: В массиве А(N,M) элементы строк, начинающихся с отрицательного элемента, расположить в порядке возрастания. Я в принципе сделал все работает Вот код #include<iostream> #include<math.h> void sort(int *a,int n) { int temp; for(int i=0;i<n;i++) http://www.cyberforum.ru/cpp-beginners/thread140472.html
Написать через функции C++
Написать через ссылку на функцию по имени.чтоб он выводил значение в main(). для кода d=0 for (i=0; i<n; i++) { d+=C*C; k=sqrt(d); cout<<k<<endl; }
лабораторный практикум C++
7. Удалить из строки комментарии вида 'V* ... */". Игнорировать вложенные комментарии. завтра защита нуждаюсь в помощи...можете объянить как вы сделали,или прокомментируйте пожалуйста!
C++ описание функции http://www.cyberforum.ru/cpp-beginners/thread140443.html
пожалуйста помогите с описанием функции и прокомментируйте если не трудно!!!Обращаюсь к вам друзья!!! аor (s=0, sn = X, n = 1; fabs(sn) > eps; n++) {s += sn; sn= sn * X * X * (2*n-1) / (2*n + 1); }
C++ условия ? Дана матрица размера 5*10.Вывести номер её первой1 последней2 строки3 столбца4,содержащего только положительные элементы.Если таких строк3 столбца4 нет,то вывести 0. подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
03.06.2010, 21:51     матрицы и строки =(
2. Вроде понятно все )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
const int SIZE =100; //максимальный размер массива
 //прототипы функций:
char *pr2 (char *in); //функция pr2 принимает как аргумент указатель на тип char, возвращает указатель на тип char
char *pr1 (char *in);//функция pr1 принимает как аргумент указатель на тип char, возвращает указатель на тип char
char *copy(char *, char *, int);//функция copy принимает как аргументы 2 указателя на тип char, и переменную
                                // типа int возвращает указатель на тип char
void form (char *a, char, char *out);//функция form принимает как аргумент указатель на тип char, переменную
                                    //типа char, указатель на тип char, ничего не возвращает (void)
 
int main()
{
        char buf[SIZE]={'\0'},  buf2[SIZE]={'\0'}, outbuf[SIZE]={'\0'}, outbuf2[SIZE]={'\0'}, p; //Объявление переменных
 
        cout<<"Vvedite 1 stroky: "; //вывод на экран сообщение
        cin.getline(buf, SIZE); //запись в переменную buf введенную с клавиатуры строку (не до пробела, а всю)
        cout<<"Vvedite 2 stroky: ";
        cin.getline(buf2, SIZE);
        cout<<"Vvedite bukvu: ";        
        cin>>p; //запись в переменную p буквы
        form(buf, p, outbuf); //вызов функции form, передача в функцию form указателя на 0-й элемент массива buf,
                            //буквы p и пустого массива outbuf (куда будет записан результат)
        form(buf2, p, outbuf2);
        cout<<"Rezultat dlya 1 stroki: "<<outbuf; //вывод результата
        cout<<endl<<endl;
        cout<<"Rezultat dlya 2 stroki: "<<outbuf2;
        cout<<endl<<endl;
}
void form (char *a, char p, char *out) //описание функции form
{       
        char *first=a; //объявляем указатель first и присваивается ему адрес a 
 
        while (*(first=pr1(a))) //пока возможна передача a в функцию pr1 (пропуск пробелов)
        {
                a=pr2(first); //a присваиваем адрес указателя, возвращенного функцией pr2 (пропуск букв)
                if (*first==p) //если первая буква (после пропуска пробелов) равна символу (введеной букве)
                        out=copy(first, out, a-first); //out присваиваем указатель, возвращенный функцией copy
                                        //а first в функции copy устанавливается на следующий пробел после слова
                                        //и цикл продоолжается) 
                                        //a-first - это длина слова (последний адрес-первый)
                else first=pr2(first);  //иначе, first вручную устанавливаем на первый после слова пробел
                                    //чтобы можно было продолжить цикл)
        }
}
char *pr1(char *in) //функция пропуска пробелов и табуляции
{ 
        while (*in&&(*in==' ')||(*in=='\t'))
                in++;
        return in;
}
char *pr2 (char *in) //функция пропуска букв
{
        while (*in&&*in!=' '&&*in!='\t')
                in++;
        return in;
}
char *copy(char * from, char *to, int len) //функция копирования
{
        for (int j=0; (j<len)&&(*to++=*from++); j++) //само копировани (копирует столько символов, сколько длина)
                ;       
        *to++=' '; //после скопированного слова поставить пробел в результирующую строку
        *to='\0';
        return to;
}
 
Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru