Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
1

Не знаю как выполнить

26.01.2012, 16:11. Просмотров 842. Ответов 18
Метки нет (Все метки)

Помогите пожалуйста с этой задачей:
Напишите функцию void compare (char str1, char str2), сравнивающую 2 символьных массива. Функция main должна считывать две строки с клавиатуры, вызывать функцию compare, вывести результат её работы на экран.
Спасибо.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2012, 16:11
Ответы с готовыми решениями:

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как)
#include <math.h> #include <conio.h> #include <stdio.h> void main() { int...

Не знаю как назвать
Подскажите пожалуйста, где здесь ошибка? Пытался скомпилировать в Microsoft...

Не знаю как написать
Помогите пожалуйста ! Задание : Дан символьный файл. Получить копию этого...

Не знаю как отсортировать
Есть матрица 22х22, нужно заполнить его случайными числами от-22 до 22 и...

Я не знаю как доработать
Написал код, но очень криво и нифига ничего не работает. Наш препод ничерта не...

18
I.M.
567 / 550 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
26.01.2012, 16:18 2
Хм, а как быть с длиной массива? Ее бы тоже передавать как параметр в функцию compare.
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
26.01.2012, 16:19 3
C
1
2
3
4
void compare(char* s1, char* s2)
{
   printf ("%d", strcmp(s1, s2));
}
1
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 16:26  [ТС] 4
Ребят тут больше ничего не написано про массив...у меня сейчас экзамен, всеми способами стараюсь найти решение этой задачи.

Добавлено через 26 секунд
Цитата Сообщение от go Посмотреть сообщение
C
1
2
3
4
void compare(char* s1, char* s2)
{
   printf ("%d", strcmp(s1, s2));
}

это вся функция?
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 16:27 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void compare(char *str1, char *str2)
{
    if (strlen(str1) < strlen(str2))
    { cout << "Вторая строка больше!" << endl; return; }
    if (strlen(str1) > strlen(str2))
    { cout << "Первая строка больше!" << endl; return; }
 
    int a = strlen(str1);
    for (int i = 0; i < a; i++)
    {
        if (str1[i] > str2[i])
        { cout << "Первая строка больше!" << endl; return; }
        if (str1[i] < str2[i])
        { cout << "Вторая строка больше!" << endl; return; }
    }
 
    cout << "Строки равны!" << endl;            
}
p.s. не проверял, раз экзамен
p.s.s. Раз просят написать это, вряд ли разрешено использовать strcmp. Смысл писать функцию в 1 строку? Почесать правое ухо левой рукой?
1
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 16:29  [ТС] 6
Это точно эта функция? То что написано русскими буквами красным цветом нужно менять? Ребят извените за вопросы если что просто я не очень пока что рублю в программировании
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 16:32 7
То, что написано красным - это текст, который выведется на консоль. Тебе же надо вывести результат сравнения.... Первая часть проги Ту, что выше, копипасти вниз.

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
#include <iostream>
#include <locale>
 
using std::cout;
using std::cin;
using std::endl;
 
void compare(char *, char *);
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    char *str1 = new char[20];
    char *str2 = new char[20];
 
    cout << "Введите первую строку: ";
    cin.getline(str1, 20);
    cout << "Введите вторую строку: ";
    cin.getline(str2, 20);
 
    compare(str1, str2); 
 
    return 0;
}
0
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 16:34  [ТС] 8
Да, тут пишут: "Функция main должна считывать две строки с клавиатуры вызывать функцию compare и вывести результат её работы на экран"
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 16:36 9
Выше смотри
0
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 16:41  [ТС] 10
Вторая функция это решение?
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 16:43 11
Копируй и компилируй
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
#include <iostream>
#include <locale>
 
using std::cout;
using std::cin;
using std::endl;
 
void compare(char *, char *);
 
int main()
{
        setlocale(LC_ALL, "rus");
 
        char *str1 = new char[20];
        char *str2 = new char[20];
 
        cout << "Введите первую строку: ";
        cin.getline(str1, 20);
        cout << "Введите вторую строку: ";
        cin.getline(str2, 20);
 
        compare(str1, str2); 
 
        return 0;
}
 
void compare(char *str1, char *str2)
{
        if (strlen(str1) < strlen(str2))
        { cout << "Вторая строка больше!" << endl; return; }
        if (strlen(str1) > strlen(str2))
        { cout << "Первая строка больше!" << endl; return; }
 
        int a = strlen(str1);
        for (int i = 0; i < a; i++)
        {
                if (str1[i] > str2[i])
                { cout << "Первая строка больше!" << endl; return; }
                if (str1[i] < str2[i])
                { cout << "Вторая строка больше!" << endl; return; }
        }
 
        cout << "Строки равны!" << endl;                        
}
0
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 16:49  [ТС] 12
Скопировал, жму Ctrl+F5 пишет что обнаружена ошибка: fatal error C1071: непредвиденное обнаружение конца файла в комментарии
1>
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 16:51 13
Visual Studio 2010 полет нормальный... Какой у тебя компилятор?
p.s. ты код без номеров строк копировал? Все, что в окошке нужно. Без 1 ... 2... 3... ..... 10
0
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 17:07  [ТС] 14
Это учебный компьютер, в аудитории Я незнаю что тут что, честно говоря...

Добавлено через 6 минут
Да конечно я без цифр скопировал

Добавлено через 6 минут
никак не хочет выводить результат..
0
Pavel.fromBy
13 / 13 / 0
Регистрация: 31.12.2011
Сообщений: 83
26.01.2012, 17:18 15
Убрал локализацию, добавил использование всего пр-ва std. Но это бред. Я не знаю Попробуй:
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
#include <iostream>
 
using namespace std;
 
void compare(char *, char *);
 
int main()
{
        char *str1 = new char[20];
        char *str2 = new char[20];
 
        cout << "Vvedite pervyiy stroky: ";
        cin.getline(str1, 20);
        cout << "Vvedite vtoryy stroky: ";
        cin.getline(str2, 20);
 
        compare(str1, str2); 
 
        return 0;
}
 
void compare(char *str1, char *str2)
{
        if (strlen(str1) < strlen(str2))
        { cout << "Vtoraya bol'she!" << endl; return; }
        if (strlen(str1) > strlen(str2))
        { cout << "Pervaya bol'she!" << endl; return; }
 
        int a = strlen(str1);
        for (int i = 0; i < a; i++)
        {
                if (str1[i] > str2[i])
                { cout << "Pervaya bol'she!" << endl; return; }
                if (str1[i] < str2[i])
                { cout << "Vtoraya bol'she!" << endl; return; }
        }
 
        cout << "Stroki ravni" << endl;                        
}
p.s. Программа кстати на C++?
0
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
26.01.2012, 17:21 16
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
#include <iostream>
#include <locale>
 
using std::cout;
using std::cin;
using std::endl;
 
void compare(char *, char *);
 
int main()
{
        setlocale(LC_ALL, "rus");
 
        char *str1 = new char[20];
        char *str2 = new char[20];
 
        cout << "Введите первую строку: ";
        cin.getline(str1, 20);
        cout << "Введите вторую строку: ";
        cin.getline(str2, 20);
 
        compare(str1, str2); 
 
        return 0;
}
 
void compare(char *str1, char *str2)
{
        if (strlen(str1) < strlen(str2))
        { cout << "Вторая строка больше!" << endl; return; }
        if (strlen(str1) > strlen(str2))
        { cout << "Первая строка больше!" << endl; return; }
 
        int a = strlen(str1);
        for (int i = 0; i < a; i++)
        {
                if (str1[i] > str2[i])
                { cout << "Первая строка больше!" << endl; return; }
                if (str1[i] < str2[i])
                { cout << "Вторая строка больше!" << endl; return; }
        }
 
        cout << "Строки равны!" << endl;                        
}
для не особо понятливых слепил два сообщения от Pavel.fromBy
0
Pavel.fromBy
26.01.2012, 17:24
  #17

Не по теме:

co6ak, Pavel.fromBy слепил их более 2ух постов назад:)

0
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
26.01.2012, 17:26 18
Цитата Сообщение от Pavel.fromBy Посмотреть сообщение

Не по теме:

co6ak, Pavel.fromBy слепил их более 2ух постов назад:)

не бывает, что уж
0
Игорь Исаев
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 11
26.01.2012, 17:31  [ТС] 19
Спасибо за помощь
0
26.01.2012, 17:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2012, 17:31

Не знаю как реализовать
Итак, пользователь может ввести, а может и ничего не вводить, но програма...

Не знаю как прописать main
В университете задали написать прогу с различными функциями сортировки стеков,...

Не знаю как создать программу
Прошу помочь создать программу с использованием стандартной библиотеки...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

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