Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
#1

ошибочка. не понимаю как сделать чтоб типы соответствовали - C++

16.02.2013, 19:49. Просмотров 316. Ответов 8
Метки нет (Все метки)

по надобности переделывала паскалевскую блок-схему под С++.начало выбивать много ошибок. вот с одной из них не могу справиться


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
#include <stdio.h>
#include<math.h>
#include <stdlib.h>
#include<string.h>
int main()
{
    int i,j,f,n,r; int y[2],d[3];
    char k,l,s,t;
printf("universal'noe mno*estvo U:[1...255]");
 for (int j = 0; j<255; ++j)
   y[j] = j+1;
   printf("\n");
printf("vvedite kolli4estvo elementov mno*estva A:");
 scanf("%d",&n); 
 
 printf("mno*estvo A sostoit iz elementov:"); 
 for (int i=1;i<=n;i++)
 d[i]=i+1; 
 printf("%d",d[i]);
 printf("\n") ; 
     
r=0;
for(k=1;k<=strlen(y[j]);k++)
{f=0;
for (l=1;l<=strlen(d[i]);l++)
if(y[j]==d[i]) f=1;
if (f=0) r=r+y[j];
}
printf("%d",r);
 
printf("\n");
system("pause");
return 0;
 
}

выбивает ошибку initializing argument 1 of `size_t strlen(const char*)' как мне ее исправить??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2013, 19:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибочка. не понимаю как сделать чтоб типы соответствовали (C++):

Не понимаю как сделать! - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Хнач Хкон с шагом dx с...

Не понимаю как сделать - C++
Найти и распечатать все натуральные трехзначные числа, равные сумме кубов своих цифр. #include&lt;stdio.h&gt; #include&lt;conio.h&gt; int main() ...

не понимаю как сделать наследование классов - C++
Народ, здарова! Есть код: #include&lt;iostream.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; enum...

Не понимаю как сделать try/catch в программе - C++
в общем, у меня стек заполняется только целочисленным типом данных (int). Но также необходимо сделать исключения для типа double и букв...

Найди серединку. Не понимаю как сделать и как начать - C++
Вводятся натуральные числа - А и В (А&lt;В), которые не превышают 100000000. Найти число Х – середину ряда, состоящего из ...

Немного не понимаю как правильно сделать наследование - C++
Вот например, есть структура Point(точка). Если надо сделать структуру Round(круг), то в этом случае надо наследовать Point потому что у...

8
popelyuk
8 / 8 / 1
Регистрация: 04.12.2012
Сообщений: 130
16.02.2013, 21:43 #2
Напишите на какую строчку ругается компилятор, а то вы только привели описание ошибки и то частично.
0
zss
Модератор
Эксперт С++
6517 / 6079 / 2001
Регистрация: 18.12.2011
Сообщений: 15,808
Завершенные тесты: 1
16.02.2013, 22:27 #3
Путаница в коде полная.
0.Ошибки выдаются по причине того, что d и y не строки.
И нельзя к ним применить strlen().

1. Дальше: массив y[2] у Вас имеет длину 2, а записываете в него 255 чисел:
for (int j = 0; j<255; ++j)
y[j] = j+1;
2. В строке if(y[j]==d[i])
j равно 256, а i равно n+1
не думаю, что это имелось ввиду.
0
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 23.02.2012
Сообщений: 653
16.02.2013, 22:29 #4
для начала, вы i и j объявляете несколько раз...)
1
zss
Модератор
Эксперт С++
6517 / 6079 / 2001
Регистрация: 18.12.2011
Сообщений: 15,808
Завершенные тесты: 1
16.02.2013, 22:38 #5
Цитата Сообщение от NeonLost Посмотреть сообщение
для начала, вы i и j объявляете несколько раз...)
Это не так уж важно. Вторые объявления локализуются внутри циклов.
А вот алгоритм программы совершенно невозможно понять.
Все переменные перепутаны до неузнаваемости.
0
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
16.02.2013, 23:39  [ТС] #6
[img]http://s019.***********/i611/1302/f6/c7fedac54a3b.jpg[img] - извините, еще не разобралась как правильно изображения вставлять
сама запуталась уже не могу как..видно и правда глупости написала..дали блок-схему преподы с функциями некоторыми как на паскале.. а учат все на С++ делать..и тип string еще не проходили а уже надо его использовать.. я просто незнаю как..

Добавлено через 13 минут
а ошибку выбивает здесь
C++
1
for (l=1;l<=strlen(d[i]);l++)
и здесьfor
C++
1
(k=1;k<=strlen(y[j]);k++)
0
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
17.02.2013, 01:13 #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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include<string.h>
#include <iostream>
using namespace std;
 
const char y[]="QWERTYUIOPASDFGHJKLZXCVBNM";
 
void dopoln(char* D,char *R)
{
    int i,n,un;
    n=strlen(D);
    un=strlen(y);
    for (i=0;i<un-n;i++)R[i]=' ';
    i=0;
    int f;
    for (int j=0;j<un;j++)
    {
        f=0;
        for (int k=0;k<n;k++)
        {
            if (D[k]==y[j])f=1;
        }
        if (!f)
        {
            R[i]=y[j];i++;
        }
    }
}
 
 
 
int main()
{
 
    char *d=new char(sizeof("QWERTYUIOPGHJKLZXCVBNM"));
    d="QWERTYUIOPGHJKLZXCVBNM";
    char *r=new char[strlen(y)-strlen(d)];
    dopoln(d,r);
    for (int i =0;i<strlen(y)-strlen(d);i++)cout<<r[i];
    cout<<endl;
 
    delete [] r;
    delete [] d;
    return 0;
 
}
это с учетом того, что алгоритм вроде как для функции
1
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 117
17.02.2013, 01:56  [ТС] #8
Цитата Сообщение от avfed Посмотреть сообщение
честно сказать сам алгоритм достаточно странно выглядит,
это с учетом того, что алгоритм вроде как для функции
согласна что странно.. саму этот момент ох как странной делает..да,алгоритмы для функции,и таких функций еще несколько..с половиной только разобралась..этот вариант мне еще и с числами нужно сделать..с числами думаю проще должно быть..


спасибо
0
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
17.02.2013, 11:05 #9
для цифр на самом деле в общем случае немного сложнее, хотя для учебы для вас думаю будет достаточно так(не заморачиваясь с определением внутри функции размера динамического массива, а задавшись размерами множеств как константами, хотя насколько я помню остатки паскаля там без этого вообще мрак получался), кстати ввод D можно по желанию прикрутить с клавиатуры
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
#include<string.h>
#include <iostream>
using namespace std;
#define un 16
#define n 10
 
const int y[un]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
 
int * dopoln(int* D)
{
    int i;
    int *R=new int[un-n];
    for (i=0;i<un-n;i++)R[i]=0;
    i=0;
    int f;
    for (int j=0;j<un;j++)
    {
        f=0;
        for (int k=0;k<n;k++)
        {
            if (D[k]==y[j])f=1;
        }
        if (!f)
        {
            R[i]=y[j];i++;
        }
    }
    return R;
}
 
int main()
{
 
    int *d=new int[n];
    for (int i=0;i<n;i++)d[i]=i+1;
    int *r;
    r=dopoln(d);
    for (int i =0;i<un-n;i++)cout<<r[i]<<"\n";
    cout<<endl;
 
    delete [] r;
    delete [] d;
    return 0;
 
}
0
17.02.2013, 11:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 11:05
Привет! Вот еще темы с ответами:

Как сделать чтоб отделяло IP и Port - C++
Нужен код для c++ чтоб программа поняла где ип,порт (IP:PORT) Я нуб помогите пожалуйста , молю вас,помогите добрые земляни в решении...

как сделать, чтоб кнопка работала? - C++
есть форма с кнопкой, как сделать, чтоб кнопка работала?

как сделать чтоб был руский язык? - C++
там где я редактивирую код проги, хочу видеть руские буквы (как коментарии). как это сделать?

Необходимо обойти ошибку в if на проверку месяцев. Не понимаю совершенно как это сделать - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;Windows.h&gt; #include &lt;locale&gt; using...


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

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

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