Russian Qt Forum
Ноябрь 23, 2024, 12:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Преобразование строк  (Прочитано 17306 раз)
Anis
Гость
« Ответ #15 : Май 22, 2011, 13:27 »

помогите с программой, пожалуйста, не могу понять почему она не работает  Непонимающий должно по введеным строкам (формат - имя и пять оценок через запятую) посчитать среднюю оценку и вывести в новый массив строк

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>

int main(int argc, char *argv[])
{

    float x,p; int i,j,n,z; char *p1,s[30][255],r[30][255];
    printf ("Введите количество студентов:\n");
    scanf ("%d",&n);
    fflush (stdin);
    printf ("Введите результаты:\n");
    for (i=0;i<n;i++)
            gets(s);
     for (i=0;i<n;i++)
    {
         x=0;
         j=0;
    while (j<strlen(s))
         {
        if (s[j]>='0' && s[j]<='5') {
            p=atof(&s[j]);
            x=x+p;
            j++;
        }
      i++;
    }
    x=x/5;
    sprintf (r,"%f",x);
    z=p1-s;
    strncpy(r,s,z);
     for (i=0;i<n;i++)
         printf ("%s",r);
     }
  fflush (stdin);
 getch ();
}
« Последнее редактирование: Май 22, 2011, 13:30 от Anis » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #16 : Май 22, 2011, 13:36 »

а Qt тут при чём?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Anis
Гость
« Ответ #17 : Май 22, 2011, 13:55 »

дак это ж в Qt написано
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #18 : Май 22, 2011, 14:01 »

а по-моему написано на чистом С
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Anis
Гость
« Ответ #19 : Май 22, 2011, 14:03 »

это консольное приложение Qt
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #20 : Май 22, 2011, 14:07 »

и тем не менее
а по-моему написано на чистом С
Записан
ufna
Гость
« Ответ #21 : Май 22, 2011, 20:17 »

мне всегда нравилась фраза "в Qt" Улыбающийся
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #22 : Май 22, 2011, 20:22 »

Вы s используете как одномерный массив, а объявляете как двумерный.
Ну и с циклами накручено.
Записан
Alucard
Гость
« Ответ #23 : Июнь 21, 2011, 14:11 »

Цитировать
на каждой итерации цикла выполняется d->end - d->begin.

http://forum.vingrad.ru/index.php?showtopic=332592&view=findpost&p=2365227

GCC 4.5.2 (O2)
Записан
niXman
Гость
« Ответ #24 : Июнь 22, 2011, 01:17 »

всем драсКуйте!

Цитировать
мне всегда нравилась фраза
тебе всегда нравилось троллить. жаль этот движет не поддерживает статистику полезных сообщений.

Alucard, а разве могло быть иначе? оО годки-то какие)

зы
"одни с годами взрослеют, другие становятся старше" (с)
благо то, что к компиляторам и их разработчикам это не относится.
Записан
niXman
Гость
« Ответ #25 : Июнь 22, 2011, 01:25 »

на каждой итерации цикла выполняется d->end - d->begin.
и это ты смеешь глумиться над троллями?
обоснование пожалуйста, почему компилятор(будучи глупцом) должен поступать так, как ты предполагаешь?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #26 : Июнь 22, 2011, 12:35 »

Господам Alucard и niXman :

если посмотрите внимательно на начало темы, то увидите, что разговор был не про std::vector, а про QList.
Все ваши комменты насчёт крутости оптимайзера для std::vector никоим образом не распространяются на QList.
И теперь обоснуйте мне, что я не прав.
Записан

Qt 5.11/4.8.7 (X11/Win)
niXman
Гость
« Ответ #27 : Июнь 22, 2011, 15:24 »

Цитировать
разговор был не про std::vector, а про QList
во первых - насрать про что разговор.
во вторых - я а получил точно такой же ассемблерный код на тесте QList.

Цитировать
насчёт крутости оптимайзера для std::vector
а компилятор оказывается привереда, свои возможности оптимизации не хочет распространять на QList. оО

Цитировать
обоснуйте мне
был тут такой break. тоже однажды обоснований затребовал. получил, по самые нехочу. потом долго отхарькивался, этими, обоснованиями.
скринкаст выложить?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #28 : Июнь 22, 2011, 15:47 »

niXman, ты вернулся чтобы опять хамить?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #29 : Июнь 22, 2011, 15:54 »

Цитировать
разговор был не про std::vector, а про QList
во первых - насрать про что разговор.
во вторых - я а получил точно такой же ассемблерный код на тесте QList.

Цитировать
насчёт крутости оптимайзера для std::vector
а компилятор оказывается привереда, свои возможности оптимизации не хочет распространять на QList. оО

Цитировать
обоснуйте мне
был тут такой break. тоже однажды обоснований затребовал. получил, по самые нехочу. потом долго отхарькивался, этими, обоснованиями.
скринкаст выложить?
Чего-то больно-много трёпа развёл. Недержание что-ли?

Вот из такого кода:
Код
C++ (Qt)
#include <cstdio>
#include <QList>
 
int main()
{
       QList< int > v;
       for( int idx = 0; idx < v.size(); ++idx )
       {
               printf("%d\n", idx);
       }
       return 0;
}
 
на gcc-4.5.1 (-O2) получаем это:
Код
ASM
(gdb) disassemble main
Dump of assembler code for function main:
  0x08048600 <+0>:     push   %ebp
  0x08048601 <+1>:     mov    %esp,%ebp
  0x08048603 <+3>:     and    $0xfffffff0,%esp
  0x08048606 <+6>:     push   %ebx
  0x08048607 <+7>:     sub    $0x2c,%esp
  0x0804860a <+10>:    movl   $0x80499ec,0x1c(%esp)
  0x08048612 <+18>:    lock incl 0x80499ec
  0x08048619 <+25>:    setne  %al
  0x0804861c <+28>:    mov    0x1c(%esp),%edx
  0x08048620 <+32>:    mov    0xc(%edx),%eax
  0x08048623 <+35>:    sub    0x8(%edx),%eax
  0x08048626 <+38>:    test   %eax,%eax
  0x08048628 <+40>:    jle    0x8048651 <main+81>
  0x0804862a <+42>:    xor    %ebx,%ebx
  0x0804862c <+44>:    lea    0x0(%esi,%eiz,1),%esi
  0x08048630 <+48>:    mov    %ebx,0x4(%esp)
  0x08048634 <+52>:    movl   $0x8048784,(%esp)
  0x0804863b <+59>:    call   0x8048508 <printf@plt>
  0x08048640 <+64>:    mov    0x1c(%esp),%edx
  0x08048644 <+68>:    add    $0x1,%ebx
  0x08048647 <+71>:    mov    0xc(%edx),%eax
  0x0804864a <+74>:    sub    0x8(%edx),%eax
  0x0804864d <+77>:    cmp    %eax,%ebx
  0x0804864f <+79>:    jl     0x8048630 <main+48>
  0x08048651 <+81>:    lea    0x1c(%esp),%eax
  0x08048655 <+85>:    mov    %eax,(%esp)
  0x08048658 <+88>:    call   0x8048680 <_ZN5QListIiED2Ev>
  0x0804865d <+93>:    add    $0x2c,%esp
  0x08048660 <+96>:    xor    %eax,%eax
  0x08048662 <+98>:    pop    %ebx
  0x08048663 <+99>:    mov    %ebp,%esp
  0x08048665 <+101>:   pop    %ebp
  0x08048666 <+102>:   ret
  0x08048667 <+103>:   mov    %eax,%ebx
  0x08048669 <+105>:   lea    0x1c(%esp),%eax
  0x0804866d <+109>:   mov    %eax,(%esp)
  0x08048670 <+112>:   call   0x8048680 <_ZN5QListIiED2Ev>
  0x08048675 <+117>:   mov    %ebx,(%esp)
  0x08048678 <+120>:   call   0x8048528 <_Unwind_Resume@plt>
End of assembler dump.
 

Код
ASM
0x08048647 <+71>:    mov    0xc(%edx),%eax
0x0804864a <+74>:    sub    0x8(%edx),%eax
 
Вот это что?
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.171 секунд. Запросов: 23.