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

Переписать код с функцией - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ поменять местами максимальный элемент и первый, используя одномерный массив на c++ http://www.cyberforum.ru/cpp-beginners/thread1040613.html
Здравствуйте, искал на форуме нашел частичные данные, которые не могу даже нормально соединить, помогите "поменять местами максимальный элемент и первый, используя одномерный массив на c++", заранее благодарен
C++ Бинарные файлы данных Доброго времени суток, господа) извольте помочь мне с кодом):senor: Задание: Есть бинарный файл Ф1 с целыми числами:10 отрицательных и 10 больше 0. Создать файл Ф2 в котором будет 5 отрицательных, 5 положительных чисел с файла Ф1. Числа в файле Ф1 разположены хаотично! #include <iostream> #include <ctime> #include <cstdlib> #include <stdio.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1040609.html
C++ Объясните в чем заключаются ошибки в приведенном коде
Объясните в чем заключаются ошибки в приведенном коде... class table { int size; int priority; public: table(int s = 0, int p):size(s), priority(p){} virtual void print()=0; }; class stud_table: public table
Permission denied C++
пытаюсь запустить программу и выскакивает ошибка Permission denied в dev c++ и в коде блоксе #include <stdio.h> #include <conio.h> #include <stdlib.h> const int p=6; int random(int N) { return rand() % N;
C++ Строковый тип. Перевернуть строку http://www.cyberforum.ru/cpp-beginners/thread1040599.html
Здраствуйте! Задача: ввести строку, перевернуть её, вывести полученную строку. Задачу выполнил частично: переворачивается строка, содержащая не больше 2 слов, иначе - ошибка. Собственно и вопрос вам: почему так получается? Как изменить код, чтобы можно было больше 2 слов ввести и не будет никакой ошибки? Код: #include "stdafx.h" #include <iostream> using namespace std; void...
C++ Перегрузка оператора *= как для заданного класса point перегрузить оператор *= всеми возможными способами (член класса, друг класса)? P.S. оператор *= должен быть применен для двух объектов класса point, он осуществляет умножения соответствующих координат точек и запись полученных результатов в координаты первой точки class point { int *x, *y, *z; public: point(int c1 = 0, int c2 = 0, int c3 = 0) { x = new... подробнее

Показать сообщение отдельно
Vonka
 Аватар для Vonka
1 / 1 / 0
Регистрация: 13.09.2013
Сообщений: 90
14.12.2013, 00:40     Переписать код с функцией
Как записать эту задачу с помощью функций?
Задача

Условие: Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер.
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
#include <stdio.h>
#include <math.h>
#include <locale.h>
#include <stdlib.h>
 
int main(){
    setlocale(LC_ALL,"rus");
 
    int **array_a;
    int column; //столбцы
    int line;   //Строки
 
    printf("Введите размер матрицы: ");
    scanf("%d%d", &line, &column);
 
    array_a = (int**)malloc(sizeof(int)*line);
    for(int i = 0; i < line; i++)
        array_a[i] = (int*)malloc(sizeof(int)*column);
 
    printf("Заполните матрицу: \n");
    for(int i = 0; i < line; i++)
        for(int j = 0; j < column; j++)
            scanf("%d", &array_a[i][j]);
 
    printf("Вывод матрицы:\n");
    for(int i = 0; i < line; i++){
        for(int j = 0; j < column; j++){
            printf("%d ", array_a[i][j]);
        }
        printf("\n");
    }
 
    int fl = 0;
    for(int i = 0; i < line; i++){
        for(int j = 0; j < column; j++){
            if(array_a[i][j] > 0){
                printf("Первая строка, содержащая положительные элементы: %d\n", i+1);
                fl = 1;
                break;
            }
        }
        if(fl)
            break;
    }
    if(!fl)
        printf("Нет строк, содержащих положительные элементы!\n");
    return 0;
}
Меню
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
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <ctype.h>
#include "iostream"
#include <string.h>
using namespace std;
int menu(); 
int sum(int aa, int bb); 
void kol(char *s); 
 
void f (char str[])    
{
    char smax[100];
    int max=0, a;
    char s[100];
    for( int i=0; i<strlen(str); i++)
    {   
        a = 0;
        strcpy( s, "" );
        for( int j = i, k = 0; str[ j ] != ' ' && str[ j ] != '\0'; j++, k++ )
        {
            a++;
            s[ k ] = str[ j ];
        }
        s[ a ] = '\0';
        if( a > max )
        {
            max = a;  
            strcpy( smax, s );
        }
    }
    cout<<"Самое длинное слово: "<<smax<<endl;
}
 
int sum(int aa, int bb)
{   
    return aa+bb; 
}
 
int main()
{  
    int a,b,c=0,k1=0;
    char s1[20];
    while(1)
    {
        switch(menu())  
        {
        case 1:
            printf("Введите А и Б: ");
            scanf("%d%d",&a,&b);   
            c=sum(a,b);
            printf("\nСумма= %d\n",c); 
            break;
        case 2:
            fflush(stdin);
            printf("Введите строку: \n");
            gets(s1);
            f(s1);  
            break;
        case 3: return 0;   
        }
    }
}
int menu()
{
    setlocale (0,"");
    int ch;
    do {
        printf("\nМеню: \n");
        printf("1. Посчитать сумму чисел\n");
        printf("2. Посчитать максимальное слово в строке\n");
        printf("3. Выход\n");
        printf("\nВаш выбор: ");
        scanf("%d",&ch);  
    }while(ch>3);
    return ch;
}

Как записать эту задачу (код) в это меню по цифру 1. Помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru