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

в чём ошибка ? и как исправить ? - C++

Восстановить пароль Регистрация
 
 
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 19:57     в чём ошибка ? и как исправить ? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int n, i;
char *s;
printf("Введите n: ");
scanf("%d", &n);
s = malloc(n*sizeof(char));
for(i=0; i<n; i++){
printf("Введите s[%d]: ", i+1);
scanf("\n%c", &s[i]);
if(s[i]=='.')
 s[i]='...';
}
for(i=0; i<n; i++){
printf("s[%d]: %c\n", i+1, s[i]);
}
getch();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DmitryM5
Love~
 Аватар для DmitryM5
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 743
Записей в блоге: 1
29.10.2013, 20:00     в чём ошибка ? и как исправить ? #2
Цитата Сообщение от banan4ik993 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int n, i;
char *s;
printf("Введите n: ");
scanf("%d", &n);
s = malloc(n*sizeof(char));
for(i=0; i<n; i++){
printf("Введите s[%d]: ", i+1);
scanf("\n%c", &s[i]);
if(s[i]=='.')
 s[i]='...';
}
for(i=0; i<n; i++){
printf("s[%d]: %c\n", i+1, s[i]);
}
getch();
return 0;
}
Не совсем понял код,но может
char *s []; ??
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 20:04  [ТС]     в чём ошибка ? и как исправить ? #3
смотри вот текст задачки ! тут одна одна точка должна заменятся тремя точками !
Даны натуральное число n, символы s1, …,sn.
Преобразовать последовательность s1, …,sn, заменив в ней:
каждую точку многоточием(т. е. тремя точками);
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 20:07     в чём ошибка ? и как исправить ? #4
попробуйте 10ую строку заменить
C++
1
s= new char [n];
, я просто без понятия как работает malloc но он вроде двумерный массив выделяет

Добавлено через 3 минуты
Цитата Сообщение от banan4ik993 Посмотреть сообщение
смотри вот текст задачки ! тут одна одна точка должна заменятся тремя точками !
Даны натуральное число n, символы s1, …,sn.
Преобразовать последовательность s1, …,sn, заменив в ней:
каждую точку многоточием(т. е. тремя точками);
да у вас в коде вроде как одна точка меняется на три, а вообще какая ошибка?
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 20:12  [ТС]     в чём ошибка ? и как исправить ? #5
о спасибо заработало только вот не пойму в задаче должны точки заменятся многоточием где его вводить то эти точки ?
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 20:19     в чём ошибка ? и как исправить ? #6
Цитата Сообщение от banan4ik993 Посмотреть сообщение
о спасибо заработало только вот не пойму в задаче должны точки заменятся многоточием где его вводить то эти точки ?
смотри 14-15ую строку
а я не правильно понял) ну если правильно понимаю, то ты должен вводить эти точки когда вводишь массив символов, ну вроде так.
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 20:34  [ТС]     в чём ошибка ? и как исправить ? #7
ты можеш скомпилировать ввести и сделать скрин я реал не пойму что вводить я как не вводил оно даёт (...)
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:03     в чём ошибка ? и как исправить ? #8
Цитата Сообщение от banan4ik993 Посмотреть сообщение
ты можеш скомпилировать ввести и сделать скрин я реал не пойму что вводить я как не вводил оно даёт (...)
короче нужна помощь в дальнейшем тебе я пока не могу помочь сам начинающий:
1. нужно тебе массив не из char делать а из string, так как char содержит один символ, а ... это три символа
2. но после этого у тебя возникнет проблема в 14ой строке я не знаю как сравнивать тип string.

Добавлено через 4 минуты
Нашел щас затестю...
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 21:05  [ТС]     в чём ошибка ? и как исправить ? #9
и как ?
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:21     в чём ошибка ? и как исправить ? #10
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
// Dla_foruma.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    int n, i;
    string *s;
    printf("Введите n: ");
    scanf("%d", &n);
    s = new string [n];
    for(i=0; i<n; i++)
    {
        printf("Введите s[%d]: ", i+1);
        scanf("\n%c", &s[i]);
        if(strcmp(s[i].c_str(),".")) s[i]="...";
    }
    for(i=0; i<n; i++)
        cout <<"s["<<i+1<<"]="<< s[i]<<"\n";
    getchar();
    getchar();
    return 0;
}
вот лови...

Добавлено через 1 минуту
поеснялки думаю не нужны, код весь твой, только последний вывод потоковый и сравнение строк другое, ну это уж почитаешь.

Добавлено через 1 минуту
погодь чето не то... не верный это код.

Добавлено через 4 минуты
Блин не люблю форматный ввод вывод))
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    int n, i;
    string *s;
    printf("Введите n: ");
    scanf("%d", &n);
    s = new string [n];
    for(i=0; i<n; i++)
    {
        printf("Введите s[%d]: ", i+1);
        cin >>s[i];
        if((strcmp(s[i].c_str(),"."))==0) s[i]="...";
    }
    for(i=0; i<n; i++)
        cout <<"s["<<i+1<<"]="<< s[i]<<"\n";
    getchar();
    getchar();
    return 0;
}
не знаю спецификаторы...вот код а скрин думаю теперь не понадобится
Vigi
 Аватар для Vigi
86 / 86 / 20
Регистрация: 28.05.2012
Сообщений: 443
29.10.2013, 21:26     в чём ошибка ? и как исправить ? #11
а в конце нужно делать :

C++
1
delete [] s;
?
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 21:28  [ТС]     в чём ошибка ? и как исправить ? #12
спасиб тебе ! можеш ещё помочь с одной задачей ?
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:31     в чём ошибка ? и как исправить ? #13
Цитата Сообщение от Vigi Посмотреть сообщение
а в конце нужно делать :

C++
1
delete [] s;
?
возможно только по какой-то причине мой компилятор ругается на команду... я не понимаю почему.

Добавлено через 24 секунды
Цитата Сообщение от banan4ik993 Посмотреть сообщение
спасиб тебе ! можеш ещё помочь с одной задачей ?
пиши чем смогу помогу...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
29.10.2013, 21:32     в чём ошибка ? и как исправить ? #14
Цитата Сообщение от Alex_Skripa Посмотреть сообщение
возможно только по какой-то причине мой компилятор ругается на команду... я не понимаю почему.
и что кричит?
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:33     в чём ошибка ? и как исправить ? #15
вру не ругается это я ошибся, он правильно говорит добавь в конце строку
C++
1
delete [] s;
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
29.10.2013, 21:33     в чём ошибка ? и как исправить ? #16
Цитата Сообщение от banan4ik993 Посмотреть сообщение
можеш ещё помочь с одной задачей ?
один вопрос - одна тема!
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:34     в чём ошибка ? и как исправить ? #17
Цитата Сообщение от Croessmah Посмотреть сообщение
один вопрос - одна тема!
реал правило такое???

Добавлено через 47 секунд
ну создай тему другую)
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 21:34  [ТС]     в чём ошибка ? и как исправить ? #18
Даны натуральное число n, символы
s1,...s n,
Будем рассматривать слова, образованные символами, входящими в
последовательность s1,...sn,
считая при этом, что
количество символов в каждом слове не превосходит 15.
Найти наибольшую длину символов-палиндромов. (Если
палиндромов нет, то ответом должно быть число 0.)!
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
29.10.2013, 21:39     в чём ошибка ? и как исправить ? #19
Цитата Сообщение от banan4ik993 Посмотреть сообщение
Даны натуральное число n, символы
s1,...s n,
Будем рассматривать слова, образованные символами, входящими в
последовательность s1,...sn,
считая при этом, что
количество символов в каждом слове не превосходит 15.
Найти наибольшую длину символов-палиндромов. (Если
палиндромов нет, то ответом должно быть число 0.)!
Теперь пожалуйста по русски) символы палиндромы что -это?????) ну из задания я понял что есть n символов из них составляем слова от 1 до 15 символов каждое, а дальше ничего не понял...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2013, 21:45     в чём ошибка ? и как исправить ?
Еще ссылки по теме:

Ошибка константа. как исправить? C++
C++ в чём ошибка и как ёё исправить?
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка C++

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

Или воспользуйтесь поиском по форуму:
banan4ik993
 Аватар для banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
29.10.2013, 21:45  [ТС]     в чём ошибка ? и как исправить ? #20
ну да понял ты правильно а слова палиндромы это например (заказ доход кабак шалаш) . тоесть слова которые читаются с слева направо и справа на лево .
Yandex
Объявления
29.10.2013, 21:45     в чём ошибка ? и как исправить ?
Ответ Создать тему
Опции темы

Текущее время: 18:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru