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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vonka
1 / 1 / 0
Регистрация: 13.09.2013
Сообщений: 90
#1

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

14.12.2013, 00:40. Просмотров 199. Ответов 1
Метки нет (Все метки)

Как записать эту задачу с помощью функций?
Задача

Условие: Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер.
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. Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 00:40     Переписать код с функцией
Посмотрите здесь:

Подскажите куда вставить код с функцией задержки? - C++
const int in3 = 2; const int in4 = 3; const int en2 = 5; void setup() { pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); ...

Иероглифы с включенной в код функцией русского языка - C++
Добрый день, я столкнулся с проблемой, когда в отладке выдает иероглифы даже при ом условии, что в начале функции mailn объявлен русский...

Не работает код с Функцией error и библиотекой std_lib_facilities из книги Страуструпа - C++
Я новичок в программировании. Учу по книге Страуструпа, там вначале нужно было подключить нестандартуную библиотеку &quot;std_lib_facilities&quot;,...

Переписать код с Си - C++
FILE *f; char s = {0}; f=fopen(&quot;filename.txt&quot;,&quot;rt&quot;); char buff; int count; do ...

Переписать код на с++ - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include &lt;iterator&gt; int main() { std::string str, tmp; ...

переписать код с++ - C++
Задача: Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз...

Переписать код - C++
нужна помощь в изменении когда. данный код #include &lt;iostream&gt; using namespace std; double Max(double a, double b){ return a &gt; b...

Переписать код - C++
вот нашел код программы похожий по условию, может кто перепишет, под мою прогу. Мое условие: 68. В одномерном массиве с четным...

Напишите пожалуйста Код программы генерирующей случайные величины но не функцией Rand - C++
Напишите пожалуйста Код программы генерирующей случайные величины но не функцией Rand а как - нибудь по другому, очень буду признательна.

Переписать код с Паскаля на С++ - C++
Ни как не могу разобраться со строчным типом в С++ делаю проги в Borland С++ uses crt; const zn:string='0123456789ABCDEF';//цифры в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
14.12.2013, 17:24     Переписать код с функцией #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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#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 a12()
{
    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");
}
 
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:
            a12();
            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;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru