Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36

19:Error directive: Must use C++ for the type iostream...как исправить такую ошибку?

20.02.2010, 20:29. Показов 7977. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
наверно я совсем тупая...но что то я не подружилась со средой С++((( помогите...не могу откомпилить...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2010, 20:29
Ответы с готовыми решениями:

Выдает ошибку [Error] Project2.dpr(29): Operator not applicable to this operand type, как ее можно исправить?
Выдает ошибку Project2.dpr(29): Operator not applicable to this operand type, как ее можно исправить? program Project2; {$APPTYPE...

Исправить ошибки Error: nvalid preprocessing directive #std
#include <stdio.h> #define SIZE 18 void search(int , int); void MaxMin(int , int); void increase(int , int); main() { ...

Как исправить такую ошибку?
4строчка - for loop control variable must be simple local variable var sum:boolean; i,n:integer; begin writeln ('n= '); readln...

38
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
21.02.2010, 17:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Knightt Посмотреть сообщение
вот это
#include<iostream.h>
запиши как
#include<iostream>
после инклудов напиши
using namespace std;
По поводу этого прочитайте тему начиная с этого поста

Цитата Сообщение от Knightt Посмотреть сообщение
просто ".h" - это обозначение Сишное, в С++ - другое
допустим #include <math.h> в С++ будет выглядеть как #include <сmath>
Такой библиотеки как iostream в C нету, значит ли, что запись iostream.h - что это сишная библиотека? То о чем вы написали не имеет отношение к разнице языков C/C++. Здесь причина в возрасте IDE. К примеру MS VC++ 6.0 поддерживает запись
C++
1
#include <iostream.h>
а вот MS VS 2003/2005/2008/2010 поддерживают запись только
C++
1
#include <iostream>
Цитата Сообщение от Nameless One Посмотреть сообщение
Вот не надо... Если эту строчку пропустить, компилятор автоматически ее подставит
А может и не подставить, надо привыкать писать правильно

Цитата Сообщение от liebe Посмотреть сообщение
счетчики у циклов for должны быть целыми а не вещественными
C++
1
2
3
4
float i, j;
for(i = 0; i < 5; ++i)
    for(j = 0; j < 5; ++j)
        std::cout<<i<<j<<std::endl;
Значит ли ваша фраза, что этот код ошибочный? Никто мне не запрещает сделать его даже типа char
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
21.02.2010, 21:40
Цитата Сообщение от M128K145 Посмотреть сообщение

Такой библиотеки как iostream в C нету, значит ли, что запись iostream.h - что это сишная библиотека? То о чем вы написали не имеет отношение к разнице языков C/C++.
....

C++
1
2
3
4
float i, j;
for(i = 0; i < 5; ++i)
    for(j = 0; j < 5; ++j)
        std::cout<<i<<j<<std::endl;
Значит ли ваша фраза, что этот код ошибочный? Никто мне не запрещает сделать его даже типа char
Нет, не значит - но только относительно того, что написали вы. А я писала относительно конкретной задачи, а не в целом и общем. Так вот в исходном коде видно, что эти самые счетчики используются как индексы массива, поэтому они должны быть целыми.

И позвольте не согласиться с вами Knightt не писал, что это "сишная библиотека", он написал, что это " обозначение Сишное" - по-моему не одно и тоже. про объяснение разницы между двумя языками тоже у него не заметила... вы придираетесь
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
21.02.2010, 23:26
Цитата Сообщение от liebe Посмотреть сообщение
они должны быть целыми
Они никому ничего не должны. При индексации массива индекс неявно приводится к целому типу. Потому что невозможно обратится к элементу с индексом 1.5.

Нету такого понятия как сишное обозначение и не сишное применимо к заголовочным файлам. Другое дело новое и старое
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
21.02.2010, 23:42
Цитата Сообщение от M128K145 Посмотреть сообщение
Они никому ничего не должны. При индексации массива индекс неявно приводится к целому типу. Потому что невозможно обратится к элементу с индексом 1.5.

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



на счет сишного и не сишного - опять не соглашусь - я лично слышала такое не раз от сведщих людей, а также читала в книгах, сайтах...
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
22.02.2010, 00:01
Цитата Сообщение от liebe Посмотреть сообщение
..вот прям сейчас взяла и проверила - ошибочку выдает. вы сами-то проверяли?
Проверил только-что - скомпилировалось и отработало, при чём с одинаковым успехом как
на С
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main(void){
    float i, j;
    for(i = 0; i < 5; ++i)
      for(j = 0; j < 5; ++j)
         printf("%f %f\n", i, j);
    return 0;
}
, так и
на С++
C++
1
2
3
4
5
6
7
8
#include <iostream>
int main(){
    float i, j;
    for(i = 0; i < 5; ++i)
       for(j = 0; j < 5; ++j)
          std::cout<<i<<j<<std::endl;
    return 0;
}
. Но идеологически это, по-моему, не правильно, и может приводить к каким-нибудь трудно находимым ошибкам, если в коде использовать...
Code
1
2
$ gcc -dumpversion
4.3.2
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
22.02.2010, 00:09
liebe, ваше упорство в этом споре похвально и действительно, в современных IDE такой ход не работает, но видите ли, ТС работает на BC++ 3.1 и там такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
    const int n = 10;
    clrscr();
    int mas[n];
    float i;
    for(i = 0; i < n; ++i)
       mas[i] = i;
    for(i = 0; i < n; ++i)
       cout<<mas[i]<<' ';
    getch();
    return 0;
}
успешно отрабатывает и честно выводит числа 0..9.

Не по теме:

сишное обозначение не сишной библиотеки? интересно...



easybudda, речь шла об индексации в массиве
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
22.02.2010, 00:19
Цитата Сообщение от M128K145 Посмотреть сообщение
easybudda, речь шла об индексации в массиве
а без разницы - если инкременируются правильно, смогут и в роли индексов использоваться...
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
22.02.2010, 00:22
Цитата Сообщение от M128K145 Посмотреть сообщение
liebe, ваше упорство в этом споре похвально и действительно, в современных IDE такой ход не работает, но видите ли, ТС работает на BC++ 3.1 и там такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
    const int n = 10;
    clrscr();
    int mas[n];
    float i;
    for(i = 0; i < n; ++i)
       mas[i] = i;
    for(i = 0; i < n; ++i)
       cout<<mas[i]<<' ';
    getch();
    return 0;
}
успешно отрабатывает и честно выводит числа 0..9.

Не по теме:

сишное обозначение не сишной библиотеки? интересно...



easybudda, речь шла об индексации в массиве
аа..вот оно что - просто я ни разу в 3.1 не работала, сразу с 6 начала...тогда отзываю свой совет по поводу индексов ..старые версии и правда более лояльные...

Не по теме:

сишное обозначение не сишной библиотеки? интересно...



ну насколько я поняла: есть сишный стиль записи, касательно библиотек - это ".h".. те же самые библиотеки можно записать через "с" - в начале, но это уже будет стиль С++
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
22.02.2010, 00:24
easybudda, я тоже до недавнего времени так думал, но как показал опыт - в последнее время от этого отказались, т.е. запись
C++
1
2
3
int mas[10];
float i(0);
mas[i] = (int) i;
срабатывает, только в старых средах работает
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
22.02.2010, 00:53
Цитата Сообщение от M128K145 Посмотреть сообщение
easybudda, я тоже до недавнего времени так думал, но как показал опыт - в последнее время от этого отказались...
Кстати, да, не правильно я думал -
вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
int main(){
    float i, j;
    int arr[5][5];
    for(i = 0; i < 5; ++i){
        for(j = 0; j < 5; ++j){
            arr[i][j] = i * 10 + j;
            std::cout << "arr[" << i << "][" << j << "] = " << std::setw(2) << std::setfill('0') << arr[i][j] << std::endl;
        }
    }
    return 0;
}
уже не работает...
0
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
24.02.2010, 17:18  [ТС]
если вы так разошлись уже тут..так может кто нибудь поможет мне доделать прогу чтоб она совершала сдвиги...
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
#include<iostream.h>
#include<math.h>
#include <conio.h>
 
void main()
{clrscr();
const int max=20;
 
 
float a [max][max];
int s;
int k,m,n,i,j,r,p;
  {
 
    cout<<"Kol-vo strok k=";
    cin>>k;
    cout<<"Kol-vo stolbcov m=";
    cin>>m;
 
 
      cout<<"Vvedite matr \n";
        for (i=0;i<k;i++)
          for (j=0;j<m;j++)
              
        cin>>a[i][j];
    cout<<"Vasha matrica: \n";
 
       for (i=0;i<k;i++)
        {
       for (j=0;j<m;j++)
         cout<<"a[i][j]"<<a[i][j]<<' ';
       cout<<'\n';
        }
 
 
    cout<<"Napravlenie:";
     cout<<"1-vpravo,2-vniz:";
     cin>>r;
 
 
      cout<<"Na skolko sdvigat:";
      cin>>n;
   switch(r)
     {
   case 1:
      
    for(i=0;i<k;i++)
       for(j=0;j<n;j++)
     {
    s=a[i][j];
     //for(p=m;p>2;p++)
     a[i][j]=a[i][j+1];
     a[i][j+1]=s;
 
      }
 
 
   case 2:
         for(i=1;i<m;i++)
       for(j=1;j<n;j++)
     {
    s=a[k][j];
     for(p=k;p>2;p++)
     a[p][j]=a[p-1][j];
     a[1][j]=s;
      }
 
      }
 
cout<<"Rez: \n";
 
  for (i=0;i<k;i++)
    {
    for (j=0;j<m;j++)
     cout<<a[i][j]<<' ';
    cout<<'\n';
    }
 }
 
getch();
//return 0;
 
}
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
24.02.2010, 22: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
  case 1:
      
        for(i=0;i<k;i++)
       for(j=0;j<n;j++)
         {
        s=a[i][j];
         //for(p=m;p>2;p++)
         a[i][j]=a[i][j+1];
         a[i][j+1]=s;
 
       } break; // этот break нужен для того, чтобы не началось выполняться case 2 после case1 
 
   case 2:
         for(i=0;i<n;i++)
       for(j=0;j<m;j++)
         {
        s=a[i][j];
       //  for(p=k;p>2;p++)
         a[i][j]=a[i+1][j];
         a[i+1][j]=s;
         }
 
      }
ну и можно еще сделать защиту от дураков
1
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
24.02.2010, 22:27  [ТС]
оля-ля..спасиб большое)) вроде бы работает))
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
24.02.2010, 23:24
не за что )))
можно вопрос: а как вы избавились от первой проблемы? (19:Error directive: Must use C++ for the type iostream)
0
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
24.02.2010, 23:30  [ТС]
ооууу...честно говоря просто методом "тыка"...ну я думаю проблемой всему было разрешение файла)

Добавлено через 2 минуты
у меня теперь проблемы с символьными массивами((( жесть.....
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
24.02.2010, 23:34
Цитата Сообщение от ta_4to Посмотреть сообщение
у меня теперь проблемы с символьными массивами((( жесть.....
символьные массивы?..а в чем конкретно?
0
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
24.02.2010, 23:36  [ТС]
Составить и отладить программу, которая выполняет следующие действия. В заданном тек-сте из нескольких предложений найти самое длинное и самое короткое слово. Если они принадлежат одному и тому же предложению, заменить их в тексте звездочками.


я даже не знаю с чего начать..вернее знаю с чего но не знаю как((
0
...
 Аватар для Liebe
891 / 78 / 6
Регистрация: 21.02.2010
Сообщений: 2,196
Записей в блоге: 1
24.02.2010, 23:45
у меня есть некоторые соображения как делать, только вот наверное надо тебе тему другую создать...тут вроде как: один вопрос - одна тема
а потом можешь в личку скинуть название(или ссылку)...или тебе уже кто-нить другой поможет
0
 Аватар для ta_4to
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
24.02.2010, 23:46  [ТС]
окей)) спасибки....ща создам))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2010, 23:46
Помогаю со студенческими работами здесь

Как исправить такую ошибку?
В чем может быть ошибка?

Исправить ошибку "error C2679: binary '*' : no operator found which takes a right-hand operand of type"
matiza.h #pragma once template &lt;typename N&gt; class matriza { protected: int stroka; N *mas; public: matriza()

Как исправить вот такую ошибку при загрузке Windows?
когда включаю компьютер на Windows долго не загружается, а потом на екране появляется вот такое сообщения , как это исправить, помогите...

Ошибка [Error] 'Stack' does not name a type. Как исправить?
stack* func (stack* b) { stack *tmp = new stack; tmp-&gt;next = b; b = tmp; tmp = b; while (tmp-&gt; next) ...

Исправить ошибку :"Error C2227 left of '->next' must point to class/struct/union/generic type "в фунциях пуш и поп
Задача:Смоделируйте очередь с помощью двух стеков. Добавление элемента в очередь сводится к добавлению к одному из стеков, а проверка,...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru